Bài giảng Lập trình trên Windows với Microsoft® .NET - Bài 5 - Hồ Hoàn Kiếm

Lập trình trên Windows  
với Microsoft® .NET  
Giảng viên : Hồ Hoàn Kiếm  
Kế thừa trong C#  
◼ Cho phép khai báo 1 lớp mới được dẫn xuất từ 1 lớp  
đã có.  
◼ Sử dụng lại các đọan mã đã viết .  
◼ Hổ trợ đơn thừa kế.  
◼ Không cho phép đa thừa kế.  
◼ Cho phép thực thi nhiều interface  
Kế thừa trong C#  
class Software  
{
private int m_z;  
public int m_v;  
protected int m_x;  
public Software()  
{
m_x = 100;  
}
public Software(int y)  
{
m_x = y;  
}
}
Kế thừa trong C#  
class MicrosoftSoftware : Software  
{
public MicrosoftSoftware()  
{
Console.WriteLine(m_x);  
}
}
Kế thừa trong C#  
class IBMSoftware : Software  
{
public IBMSoftware(int y) : base(y)  
{
Console.WriteLine(m_x);  
}
public IBMSoftware(string s, int f) : this(f) {  
Console.WriteLine(s);  
}
}
Kế thừa trong C#  
static void Main(string[] args)  
{
MicrosoftSoftware objMS = new MicrosoftSoftware();  
IBMSoftware objIBM1 = new IBMSoftware(50);  
IBMSoftware objIBM2 = new IBMSoftware("test",75);  
Console.ReadLine();  
}
Kế thừa trong C#  
◼ Từ khóa sealed : Lớp không cho phép kế thừa  
public sealed class A  
{
}
public class B : A  
{
}
➢ Lớp B không được phép kế thừa lớp A .  
Overriding Method  
class Animal  
{
public Animal()  
{
Console.WriteLine("Animal constructor");  
}
public void Talk()  
{
Console.WriteLine("Animal talk");  
}
}
Overriding Method  
class Dog : Animal  
{
public Dog() {  
Console.WriteLine("Dog constructor");  
}
public new void Talk()  
{
Console.WriteLine("Dog talk");  
}
}
Overriding Method  
class Test  
{
static void Main(string[] args)  
{
Animal a1 = new Animal();  
a1.Talk();  
Dog d1 = new Dog();  
d1.Talk();  
}
}
Tính đa hình - Polymorphism  
class Animal  
{
public Animal()  
{
Console.WriteLine("Animal constructor");  
}
public virtual void Talk()  
{
Console.WriteLine("Animal talk");  
}
}
Tính đa hình - Polymorphism  
class Dog : Animal  
{
public Dog() {  
Console.WriteLine("Dog constructor");  
}
public override void Talk()  
{
Console.WriteLine("Dog talk");  
}
}
Tính đa hình - Polymorphism  
class Test  
{
static void Main(string[] args)  
{
Animal objA = new Animal();  
Dog objD = new Dog();  
objA = objD ;  
objA.Talk();  
}
}
Lớp trừu tượng – Abstract Class  
◼ Không được tạo đối tượng.  
◼ Có thể định nghĩa các phương thức.  
◼ Có thể mở rộng từ lớp dẫn xuất.  
◼ Dùng để làm lớp cơ sở.  
◼ Có thể thực thi interface  
Lớp trừu tượng – Abstract Class  
abstract class Shape  
{
// Khai cac field  
protected float m_Height = 5;  
protected float m_Width = 10;  
//Khai bao cac method  
public abstract void CalculateArea();  
public abstract void CalculateCircumference();  
public void PrintHeight(){  
Console.WriteLine("Height = {0}",m_Height);  
}
public void PrintWidth() {  
Console.WriteLine("Width = {0}",m_Width);  
}
}
Lớp trừu tượng – Abstract Class  
class Rectangle:Shape  
{
public Rectangle( {  
m_Height = 20;  
m_Width = 30;  
}
public override void CalculateArea() {  
Console.WriteLine("Area : {0}",m_Height * m_Width );  
}
public override void CalculateCircumference() {  
Console.WriteLine("Circumference =  
{0}",(m_Height+m_Width)*2);  
}
}
Lớp trừu tượng – Abstract Class  
class Test  
{
static void Main(string[] args)  
{
Rectangle objRec = new Rectangle();  
objRec.CalculateArea();  
objRec.CalculateCircumference();  
}
}
Giao diện – Interface  
◼ Không được tạo đối tượng.  
◼ Không thể định nghĩa các phương thức.  
◼ Lớp thực thi interface phải thực thi tất cả các phương  
thức của interface.  
◼ Interface có thể được kế thừa các interface khác.  
Giao diện – Interface  
interface ITest  
{
void Print();  
}
class Base:ITest  
{
public void Print()  
{
Console.WriteLine("Print method called");  
}
}
Giao diện – Interface  
static void Main(string[] args)  
{
Base obj = new Base();  
obj.Print();  
//Gọi phương thức Print() bằng interface ITest  
ITest ib = (ITest)obj ;  
ib.Print();  
//Gọi phuong thức Print() bằng cách ép kiểu Interface ITest  
về lớp Base  
Base ojB = (Base)ib;  
ojB.Print();  
}
ppt 20 trang yennguyen 26720 Free
Bạn đang xem tài liệu "Bài giảng Lập trình trên Windows với Microsoft® .NET - Bài 5 - Hồ Hoàn Kiếm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptbai_giang_lap_trinh_tren_windows_voi_microsoft_net_chuong_5.ppt