[ C# ] Ví dụ về Kế thừa và Đa hình trong C#
/*
Ví dụ về kế thừa và đa hình trong C#
- Xây dựng lớp SV
+ thuộc tính: họ tên, năm sinh
+ phương thức: Khởi tạo, nhập thông tin
- Xây dựng lớp SVCD kế thừa lớp SV
Bổ sung:
+ thuộc tính: điểm năm 1, điểm năm 2, điểm năm 3
+ phương thức: tính điểm tổng kết, in thông tin
- Xây dựng lớp SVDH kế thừa lớp SVCD
Bổ sung:
+ thuộc tính: điểm năm 4
Yêu cầu:
- Khởi tạo mỗi lớp 1 đối tượng, thực hiện nhập thông tin, in thông tin (bao gồm cả điểm tổng kết và điểm chữ - điểm chữ tính theo quy chế đào tạo tín chỉ).
*/
// CODE C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Kethu_SV210313
{
// class SV
public class SV
{
public string ht;
public int ns;
// khoi tao
public SV(string ht, int ns)
{
this.ht = ht;
this.ns = ns;
}
// nhap
public void Nhap()
{
// nhap ho ten
Console.Write("\n Ho ten: ");
ht = Console.ReadLine().ToString();
Console.Write("\n Nam sinh: ");
ns =Int32.Parse( Console.ReadLine());
}
}
// class SVCD
public class SVCD : SV
{
public float d1, d2, d3;
//khoi tao
public SVCD(string ht,int ns,float d1,float d2,float d3):base(ht,ns)
{
this.d1 = d1;
this.d2 = d2;
this.d3 = d3;
}
// Nhap
public void Nhap()
{
base.Nhap();
// nhap diem
do
{
Console.Write("\n Diem nam thu 1: ");
d1 = float.Parse(Console.ReadLine());
if (d1 < 0 || d1 > 10)
Console.Write("\n Nhap lai diem !");
} while (d1 < 0 || d1 > 10);
do
{
Console.Write("\n Diem nam thu 2: ");
d2 = float.Parse(Console.ReadLine());
if (d2 < 0 || d2 > 10)
Console.Write("\n Nhap lai diem !");
} while (d2 < 0 || d2 > 10);
do
{
Console.Write("\n Diem nam thu 3: ");
d3 = float.Parse(Console.ReadLine());
if (d3 < 0 || d3 > 10)
Console.Write("\n Nhap lai diem !");
} while (d3 < 0 || d3 > 10);
}
// Tinh diem
public float TinhDiem()
{
return (d1 + d2 + d3) / 3;
}
// In thong tin
public void InTT()
{
char diemChu;
float dtk = TinhDiem();
if (dtk < 4.0) diemChu = 'F';
else if (dtk < 5.5) diemChu = 'D';
else if (dtk < 7.0) diemChu = 'C';
else if (dtk < 8.5) diemChu = 'B';
else diemChu = 'A';
Console.Write("\n - Ho ten : {0} \n - Tuoi: {1} \n - Diem tong ket: {2} \n - Diem chu: {3}",ht,ns,dtk,diemChu);
}
}
// clas SVDH
public class SVDH: SVCD
{
public float d4;
//khoi tao
public SVDH(string ht, int ns, float d1, float d2, float d3, float d4)
: base(ht, ns,d1,d2,d3)
{
this.d4 = d4;
}
// Nhap
public void Nhap()
{
base.Nhap();
// nhap diem
do
{
Console.Write("\n Diem nam thu 4: ");
d4 = float.Parse(Console.ReadLine());
if (d4 < 0 || d4 > 10)
Console.Write("\n Nhap lai diem !");
} while (d4 < 0 || d4 > 10);
}
// Tinh diem
public float TinhDiem()
{
return (d1 + d2 + d3+d4) / 4;
}
// In thong tin
public void InTT()
{
base.InTT();
}
}
class Program
{
static void Main(string[] args)
{
// khai bao doi tuong sinh vien CD
Console.Write("\n SINH VIEN CAO DANG \n");
SVCD t = new SVCD("", 0, 0.0f, 0.0f,0.0f);
t.Nhap();
t.InTT();
// khai bao doi tuong sinh vien DH
Console.Write("\n \n SINH VIEN DAI HOC \n");
SVDH t1 = new SVDH("", 0, 0.0f, 0.0f, 0.0f,0.0f);
t1.Nhap();
t1.InTT();
//
Console.ReadLine();
}
}
}
0 nhận xét:
Đăng nhận xét