Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
125,5 KB
Nội dung
Bài 5. Kếthừa–ĐahìnhBài 5. Kếthừa–Đahình Mục tiêu của bài: Mục tiêu của bài: Nhằm trang bị cho người học: Nhằm trang bị cho người học: Kiến thức và kỹ năng về tính thừa kế. Kiến thức và kỹ năng về tính thừa kế. Kiến thức và kỹ năng về tính đa hình. Kiến thức và kỹ năng về tính đa hình. Các kiến thức về lớp trừu tượng. Các kiến thức về lớp trừu tượng. Kiến thức và kỹ năng về các phương thức, các thành phần static. Kiến thức và kỹ năng về các phương thức, các thành phần static. Kiến thức và kỹ năng về tham số và các phương thức nạp chồng. Kiến thức và kỹ năng về tham số và các phương thức nạp chồng. Kiến thức và kỹ năng về thuộc tính. Kiến thức và kỹ năng về thuộc tính. 1. Sự kếthừa 1. Sự kếthừa M t trong nh ng u đi m n i b t c a l p trình ộ ữ ư ể ổ ậ ủ ậ M t trong nh ng u đi m n i b t c a l p trình ộ ữ ư ể ổ ậ ủ ậ h ng đ i t ng đó là th a k , đó là s s d ng l i nh ng ướ ố ượ ừ ế ự ử ụ ạ ữ h ng đ i t ng đó là th a k , đó là s s d ng l i nh ng ướ ố ượ ừ ế ự ử ụ ạ ữ thu c tính và hành vi c a m t l p. Có hai ki u k th a ộ ủ ộ ớ ể ế ừ thu c tính và hành vi c a m t l p. Có hai ki u k th a ộ ủ ộ ớ ể ế ừ trong l p trình, đ n k th a và đa k th a. ậ ơ ế ừ ế ừ trong l p trình, đ n k th a và đa k th a. ậ ơ ế ừ ế ừ C# cung c p mô hình đ n k th a.ấ ơ ế ừ C# cung c p mô hình đ n k th a.ấ ơ ế ừ Th c hi n k th aự ệ ế ừ Th c hi n k th aự ệ ế ừ Trong C#, khi ta t o m t l p k th a b ng cách công ạ ộ ớ ế ừ ằ Trong C#, khi ta t o m t l p k th a b ng cách công ạ ộ ớ ế ừ ằ m t thêm d u “:” và sau tên c a l p k th a và theo sau đó ộ ấ ủ ớ ế ừ m t thêm d u “:” và sau tên c a l p k th a và theo sau đó ộ ấ ủ ớ ế ừ là l p c s nh sau:ớ ơ ở ư là l p c s nh sau:ớ ơ ở ư public class ListBox : Window public class ListBox : Window có nghĩa là ta khai báo m t l p m i ListBox k th a t l p ộ ớ ớ ế ừ ừ ớ có nghĩa là ta khai báo m t l p m i ListBox k th a t l p ộ ớ ớ ế ừ ừ ớ Window. Window. 1. Sự kếthừa 1. Sự kếthừa class Animal class Animal { { protected int ifoots; protected int ifoots; protected string sName; protected string sName; protected void setFoot(int ival) protected void setFoot(int ival) { { ifoots = ival; ifoots = ival; } } protected void setName(string sVal) protected void setName(string sVal) { { sName = sVal; sName = sVal; } } public void displayProperties() public void displayProperties() { { Console.WriteLine(sName + " have " + ifoots.ToString()+ " foots"); Console.WriteLine(sName + " have " + ifoots.ToString()+ " foots"); } } } } 1. Sự kếthừa 1. Sự kếthừa class Dog : Animal class Dog : Animal { { public Dog(int ival) public Dog(int ival) { { setName("Dog"); setName("Dog"); ifoots = ival; ifoots = ival; } } } } class Chicken : Animal class Chicken : Animal { { public Chicken(int ival) public Chicken(int ival) { { setName("Chicken"); setName("Chicken"); setFoot(ival); setFoot(ival); } } } } [...]... a + b + c = {0}\n", A.Total(a, b,c)); } } } 5 Đóng gói dữ liệu với thuộc tính Đặc tính này cung cấp khả năng bảo vệ các trường dữ liệu bên trong một lớp bằng việc đọc và viết chúng thông qua thuộc tính Trong ngôn ngữ khác, điều này có thể được thực hiện thông qua việc tạo các phương thức lấy dữ liệu (getter method) và phương thức thiết lập dữ liệu (setter method) 5.1 Thuộc tính đọc và ghi 5.2 Thuộc... MyDerivedC(); mC.MyMethod(); Console.WriteLine("x = {0}, y = {1}", mC.GetX, mC.GetY); } } } Kết quả : x = 111, y = 161 Lớp niêm phong với ý nghĩa trái ngược hẳn với lớp trừu tượng Lớp niêm phong không cho bất kỳ lớp nào khác kếthừa nó Ta dùng từ khoá sealed để thay cho từ khoá abstract để được lớp này 4 Các lớp lồng nhau public class A { public... Main(string[] args) { MyClass mc = new MyClass(); mc.Incr(); mc.Incr(); mc.Incr(); mc.Incr(); mc.Incr(); mc.Incr(); Console.WriteLine("Total: {0}", mc.GetValue()); } } // -Kết quả : Total: 6 4.1.1 Truyền tham trị + Truyền tham chiếu không khởi tạo public class ThamChieuref { static void Method(out int i, out string s1, out string s2) { i = 44; s1 = "I've been returned"; . Bài 5. Kế thừa – Đa hình Bài 5. Kế thừa – Đa hình Mục tiêu của bài: Mục tiêu của bài: Nhằm trang bị cho người học: Nhằm. kỹ năng về tính thừa kế. Kiến thức và kỹ năng về tính thừa kế. Kiến thức và kỹ năng về tính đa hình. Kiến thức và kỹ năng về tính đa hình. Các kiến