
Bài giảng Chương 4: Kế thừa và đa hình - ThS. Phạm Thanh An
lượt xem 5
download

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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Chương 4: Kế thừa và đa hình - ThS. Phạm Thanh An
- Chươ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ên
- Kế 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 : Nguoi
- Kế 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 Cat
- Ví 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ớp
- Ví 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ừa
- Ví 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ỗi
- Ví dụ 1: Từ khóa base
- Ví dụ 2 : Sử dụng từ khóa base using System; public class Window { private int top; private int left; public Window( int top, int left) { this.top = top; this.left = left; } public void DrawWindow() { Console.WriteLine(“Drawing Window at {0}, {1}”, top, left); } }
- Ví dụ : Sử dụng từ khóa base public class ListBox: Window { private string mListBoxContents; public ListBox(int top, int left, string theContents) : base(top, left) // gọi phương thức thiết lập của lớp cơ sở { mListBoxContents = theContents; } public new void DrawWindow() { base.DrawWindow(); Console.WriteLine(“ ListBox write: {0}”, mListBoxContents); } }
- Ví dụ : Sử dụng từ khóa base public class Tester { public static void Main() { Window w = new Window(5, 10); w.DrawWindow(); ListBox lb = new ListBox( 20, 10, “Hello world!”); lb.DrawWindow(); } }

CÓ THỂ BẠN MUỐN DOWNLOAD
-
BÀI GIẢNG " CHƯƠNG 4 TẠO CÁC ĐỐI TƯỢNG 3D TỪ ĐỐI TƯỢNG 2D"
10 p |
926 |
280
-
Bài giảng Lập trình hướng đối tượng - Chương 4 Kế thừa
30 p |
110 |
11
-
Bài giảng Lập trình hướng đối tượng - Chương 4: Sự kế thừa
74 p |
187 |
8
-
Bài giảng môn Lập trình hướng đối tượng - Chương 4: Kế thừa và đa hình trên Java
42 p |
85 |
7
-
Bài giảng Chương 4: Phân tích và thiết kế dữ liệu
27 p |
110 |
7
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 4 - Trần Minh Thái
34 p |
60 |
6
-
Bài giảng Kỹ thuật lập trình hướng đối tượng - Chương 4: Tính kế thừa
34 p |
31 |
6
-
Bài giảng Lập trình hướng đối tượng 1: Chương 4 - ThS. Thái Kim Phụng
53 p |
77 |
6
-
Bài giảng Chương trình dịch - Chương 4: Dịch trực tiếp cú pháp
27 p |
65 |
5
-
Bài giảng Cơ sở lập trình máy tính: Chương 4 - ThS. Nguyễn Thị Khiêm Hòa
23 p |
51 |
5
-
Bài giảng Lập trình hướng đối tượng: Chương 4 - GV. Hà Văn Sang
26 p |
78 |
5
-
Bài giảng Lập trình hướng đối tượng: Chương 4 - Trần Thị Huế
30 p |
39 |
4
-
Bài giảng Lập trình hướng đối tượng: Chương 4 - Nguyễn Minh Thi
34 p |
67 |
4
-
Bài giảng Lập trình hướng đối tượng (Object Oriented Programming) - Chương 4: Kế thừa và đa hình trên Java
42 p |
55 |
3
-
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 p |
64 |
3
-
Bài giảng Lập trình hướng đối tượng: Chương 4 - Châu Thị Bảo Hà
58 p |
92 |
3
-
Bài giảng môn Lập trình hướng đối tượng - Trường Đại học Kỹ thuật Công nghiệp
112 p |
2 |
1


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
