Bài giảng Chương 4: Kế thừa và đa hình - ThS. Phạm Thanh An
Số trang: 74
Loại file: pdf
Dung lượng: 1.36 MB
Lượt xem: 13
Lượt tải: 0
Xem trước 8 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Chương 4: Kế thừa và đa hình - ThS. Phạm Thanh An hướng đến trình bày các nội dung cơ bản về đặc biệt hóa và tổng quát hóa; quan hệ kế thừa; đa hình; lớp trừu tượng; các lớp lồng nhau;... Mời các bạn cùng tham khảo nội dung thông tin tài liệu.
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 4: Kế thừa và đa hình - ThS. Phạm Thanh AnChương 4: Kế thừa và Đa hình (Inheritance and Polymorphism ) ThS. Phạm Thanh An Khoa công nghệ thông tin Đại học Ngân hàng Tp. Hồ Chí Minh Nội dung trình bày Đặc biệt hóa và tổng quát hóa. Quan hệ kế thừa. Đa hình. Lớp trừu tượng. Các lớp lồng nhau. Mục tiêu Tìm hiểu mối quan hệ giữa các đối tượng trong thế giới thực Cách thức mô hình hóa các mối quan hệ này trong chương trìnhĐặc biệt hóa và tổng quát hóa Quan hệ là một (is a) là một sự đặc biệt hóa Khái quát hóa (Generalization) Lớp cơ sở (Base class) Động vật có vú Đặc biệt hóa Chó Lớp dẫn xuất (Derived class) (Specialization)Kế thừa Trong C#, một quan hệ đặc biệt hóa, được cài đặt thông qua kế thừa. Khái niệm kế thừa được sử dụng để khai báo một lớp mới dựa trên lớp đã tồn tại Người Công nhân Khách hàng Sinh viênKế thừa (tt) Khai bao một lớp kế thừa từ một lớp khác ta sử dụng dấu “:” theo sau là tên lớp được kế thừa. Ví dụ: Chúng ta đã khai báo lớp người Khai báo lớp sinh viên kế thừa lớp người public class Sinhvien : NguoiKế thừa (tt) Lớp mới được gọi là lớp dẫn xuất (Derived- Class) Lớp được kế thừa gọi là lớp cơ sở (base- class) Một đối tượng của lớp dẫn xuất thì được xem như một đối tượng của lớp cơ sở của nó Một đối tượng lớp cơ sở không được xem như là một đối tượng của bất kỳ lớp dẫn xuất nào Mọi lớp trong .Net đều kế thừa từ lớp object (kế thừa không tường minh)Kế thừa (tt) Lưu ý: Lớp dẫn xuất sẽ kế thừa tất cả các thành phần không là private (non-private) của lớp cơ sở, bao gồm tất cả các phương thức và biến thành viên. Lớp dẫn xuất không kế thừa phương thức thiết lập ở lớp cơ sở.Ví dụ 1 : kế thừa Animal CatVí dụ 2: kế thừa public class Nguoi { private string ten; private string quequan; // etc. public string Ten { get { return ten;} set { ten = value;} } public string quequan { get { return quequan; } set { quequan = value; } } public void Chaohoi(){ MessageBox.show (“Xin chao từ lớp Nguoi”); } } // kết thúc định nghĩa lớpVí dụ 2: kế thừa (tt)public class Sinhvien : Nguoi { private string sinhvienid; public int lop; public string Sinhvienid { get { return sinhvienid; } set {sinhvienid = value;} } public void lenlop() { MessageBox.show(“Chúc mùng bạn lên lớp”); lop++; Sinhvien sv = new Sinhvien(); } sv.Ten = “21HT2”;} sv.chaohoi(); sv.lenlop();Ví dụ: kế thừaVí dụ 3 : Kế thừa using System; namespace vidu2 { class Inherit class Rectangle:Shape { { static void Main(string[] args) public Rectangle() { { Square squareObj =new Square(); length=0; Rectangle rectObj =new Rectangle(); breadth=0; squareObj.calculateArea(10,20); } rectObj.calculateArea(20,20); public void calculateArea(int len, int breadth) } { } Console.WriteLine (Area of a Rectangle is class Shape {0},len*breadth); { } public int length; } public int breadth; public void calculateArea(int len, int breadth); { } } }Ví dụ 3: Kế thừa class Square:Shape { public Square() { } public void calculateArea(int side1, int side2) { int area; area = side1*side2; Console.WriteLine (Area of a Square is {0},area); } } }Bổ từ truy cập “protected” Bảo vệ các thành phần hay các phương thức chỉ có thể được truy cập: Trong phạm vi lớp mà các biến, phương thức được khai báo Lớp dẫn xuất Sử dụng từ khóa protected.Từ khóa base Sử dụng để truy cập đến các thành phần của lớp cơ sở từ trong lớp dẫn xuất Sử dụng để gọi phương thức thiết lập của lớp cơ sở trong phương thức thiết khi tạo ra một thể hiện của lớp dẫn xuất Sử dụng từ khóa base trong một phương thức static sẽ báo lỗiVí dụ 1: Từ khóa baseVí dụ 2 : Sử ...
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 4: Kế thừa và đa hình - ThS. Phạm Thanh AnChương 4: Kế thừa và Đa hình (Inheritance and Polymorphism ) ThS. Phạm Thanh An Khoa công nghệ thông tin Đại học Ngân hàng Tp. Hồ Chí Minh Nội dung trình bày Đặc biệt hóa và tổng quát hóa. Quan hệ kế thừa. Đa hình. Lớp trừu tượng. Các lớp lồng nhau. Mục tiêu Tìm hiểu mối quan hệ giữa các đối tượng trong thế giới thực Cách thức mô hình hóa các mối quan hệ này trong chương trìnhĐặc biệt hóa và tổng quát hóa Quan hệ là một (is a) là một sự đặc biệt hóa Khái quát hóa (Generalization) Lớp cơ sở (Base class) Động vật có vú Đặc biệt hóa Chó Lớp dẫn xuất (Derived class) (Specialization)Kế thừa Trong C#, một quan hệ đặc biệt hóa, được cài đặt thông qua kế thừa. Khái niệm kế thừa được sử dụng để khai báo một lớp mới dựa trên lớp đã tồn tại Người Công nhân Khách hàng Sinh viênKế thừa (tt) Khai bao một lớp kế thừa từ một lớp khác ta sử dụng dấu “:” theo sau là tên lớp được kế thừa. Ví dụ: Chúng ta đã khai báo lớp người Khai báo lớp sinh viên kế thừa lớp người public class Sinhvien : NguoiKế thừa (tt) Lớp mới được gọi là lớp dẫn xuất (Derived- Class) Lớp được kế thừa gọi là lớp cơ sở (base- class) Một đối tượng của lớp dẫn xuất thì được xem như một đối tượng của lớp cơ sở của nó Một đối tượng lớp cơ sở không được xem như là một đối tượng của bất kỳ lớp dẫn xuất nào Mọi lớp trong .Net đều kế thừa từ lớp object (kế thừa không tường minh)Kế thừa (tt) Lưu ý: Lớp dẫn xuất sẽ kế thừa tất cả các thành phần không là private (non-private) của lớp cơ sở, bao gồm tất cả các phương thức và biến thành viên. Lớp dẫn xuất không kế thừa phương thức thiết lập ở lớp cơ sở.Ví dụ 1 : kế thừa Animal CatVí dụ 2: kế thừa public class Nguoi { private string ten; private string quequan; // etc. public string Ten { get { return ten;} set { ten = value;} } public string quequan { get { return quequan; } set { quequan = value; } } public void Chaohoi(){ MessageBox.show (“Xin chao từ lớp Nguoi”); } } // kết thúc định nghĩa lớpVí dụ 2: kế thừa (tt)public class Sinhvien : Nguoi { private string sinhvienid; public int lop; public string Sinhvienid { get { return sinhvienid; } set {sinhvienid = value;} } public void lenlop() { MessageBox.show(“Chúc mùng bạn lên lớp”); lop++; Sinhvien sv = new Sinhvien(); } sv.Ten = “21HT2”;} sv.chaohoi(); sv.lenlop();Ví dụ: kế thừaVí dụ 3 : Kế thừa using System; namespace vidu2 { class Inherit class Rectangle:Shape { { static void Main(string[] args) public Rectangle() { { Square squareObj =new Square(); length=0; Rectangle rectObj =new Rectangle(); breadth=0; squareObj.calculateArea(10,20); } rectObj.calculateArea(20,20); public void calculateArea(int len, int breadth) } { } Console.WriteLine (Area of a Rectangle is class Shape {0},len*breadth); { } public int length; } public int breadth; public void calculateArea(int len, int breadth); { } } }Ví dụ 3: Kế thừa class Square:Shape { public Square() { } public void calculateArea(int side1, int side2) { int area; area = side1*side2; Console.WriteLine (Area of a Square is {0},area); } } }Bổ từ truy cập “protected” Bảo vệ các thành phần hay các phương thức chỉ có thể được truy cập: Trong phạm vi lớp mà các biến, phương thức được khai báo Lớp dẫn xuất Sử dụng từ khóa protected.Từ khóa base Sử dụng để truy cập đến các thành phần của lớp cơ sở từ trong lớp dẫn xuất Sử dụng để gọi phương thức thiết lập của lớp cơ sở trong phương thức thiết khi tạo ra một thể hiện của lớp dẫn xuất Sử dụng từ khóa base trong một phương thức static sẽ báo lỗiVí dụ 1: Từ khóa baseVí dụ 2 : Sử ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Kế thừa và đa hình Kế thừa và đa hình Đặc biệt hóa Tổng quát hóa Quan hệ kế thừa Các lớp lồng nhauGợi ý tài liệu liên quan:
-
Ngôn ngữ C# và Visual Studio .NET IDE: Tập 1
613 trang 22 0 0 -
Bài giảng Lập trình hướng đối tượng - Bài 6: Kế thừa
37 trang 19 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 5
27 trang 18 0 0 -
Đề tài Tìm hiểu về ngôn ngữ c# và viết một ứng dụng cụ thể
281 trang 16 0 0 -
Bài giảng môn học Lập trình hướng đối tượng - Chương 4: Sự kế thừa
74 trang 15 0 0 -
Bài giảng Lập trình hướng đối tượng (tiếp theo) - Lương Trần Hy Hiến
0 trang 13 0 0 -
Bài giảng Kỹ thuật lập trình: Chương 5 - ThS Trần Duy Thanh
34 trang 13 0 0 -
13 trang 9 0 0
-
Bài giảng Lập trình hướng đối tượng: Kế thừa - Trần Phước Tuấn
19 trang 9 0 0 -
Rèn luyện thao tác tư duy cho học sinh trong dạy học phương trình nghiệm nguyên ở trường phổ thông
8 trang 9 0 0 -
Bài giảng Lập trình hướng đối tượng: Chương 3 - TS. Trần Công Án
67 trang 9 0 0