Bài giảng Lập trình hướng đối tượng trong C #: Chương 5 - GV. Phạm Mạnh Cương
Số trang: 22
Loại file: ppt
Dung lượng: 101.50 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Mục tiêu chính trong Bài giảng Lập trình hướng đối tượng trong C # Chương 5 Thiết kế và đa hình nhằm trình bày về thừa kế là gì? cài đặt thừa kế, nêu khái niệm đa hình.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng trong C #: Chương 5 - GV. Phạm Mạnh Cương CHƯƠNG 5THỪA KẾ VÀ ĐA HÌNHNội dung chính Thừa kế là gì? Cài đặt thừa kế Đa hình 1. Thừa kế là gì? C# cho phép tạo ra một lớp mới từ các lớp đã tồn tại. Lớp B kế thừa lớp A, có nghĩa là lớp B sẽ có các thuộc tính và phương thức của A, ngoại trừ các thành phần private. – Lớp B được gọi là lớp con hay lớp dẫn xuất. – Lớp A được gọi là lớp cha hay lớp cơ sở.Một số kiểu thừa kếMột số kiểu thừa kếMột số kiểu thừa kế2. Cài đặt thừa kếCú pháp khai báo lớp dẫn xuất từ một lớp cơ sở như sau:Cú pháp định nghĩa lớp dẫn xuất:class TênLớpCon : TênLớpCơSở{// Thân lớp dẫn xuất}Ví dụ 1using System; class PointApp//Lop co so Point2D {class Point2D public static void Main(){ { public int x,y; Point2D p2 = new Point2D(); public void Xuat2D() p2.x = 1; { p2.y = 2; Console.WriteLine(({0}, {1}), x, y); p2.Xuat2D(); } Point3D p3 = new Point3D();} p3.x = 4; p3.y = 5;//Lop dan xuat Point3D ke thua tu lop Point2Dclass Point3D:Point2D p3.z = 6;{ p3.Xuat3D(); public int z; p3.Xuat2D(); public void Xuat3D() Console.ReadLine(); { Console.WriteLine(({0}, {1}, {2}), x, y, z); } }} }Ví dụ 2using System; public void Xuat2D() {//Lop co so Console.Write(({0}, {1}), x, y);class Point2D }{ } public int x,y; //phuong thuc tao lap cua lop co so co tham so public Point2D(int a, int b) { x = a; y = b; }Ví dụ 2 (tt)//Lop dan xuatclass Point3D:Point2D class PointApp{ { public int z; //Vi phuong thuc tao lap cua lop co so co tham so nen public static void Main() //phuong thuc tao lap cua lop dan xuat cung phai co tham so { public Point3D(int a, int b, int c):base (a,b) Point2D p2 = new Point2D(1, 2); { Console.Write(Toa do cua diem 2 D z = c; :); } p2.Xuat2D(); public void Xuat3D() Console.WriteLine(); { Point3D p3 = new Point3D(4,5,6); Console.Write(({0}, {1}, {2}), x, y, z); Console.Write(Toa do cua diem 3 D } :); p3.Xuat3D();} Console.ReadLine(); } }3. Đa hình Đa hình là việc lớp B thừa kế các đặc tính từ lớp A nhưng có thêm một số cài đặt riêng. Đahình cũng là cách có thể dùng nhiều dạng của một kiểu mà không quan tâm đến chi tiết.Tạo phương thức đa hình Tạo phương thức đa hình, ta cần đặt từ khoá virtual trong phương thức của lớp cơ sở. Ví dụ: public virtual void DrawWindow( )Tạo phương thức đa hình Trong lớp kế thừa để nạp chồng lại mã nguồn của lớp cơ sở ta dùng từ khoá override khi khai báo phương thức và nội dung bên trong viết bình thường. Ví dụ về nạp chồng phương thức DrawWindow: public override void DrawWindow( ) { base.DrawWindow( ); // gọi phương thức của lớp co s ở Console.WriteLine (Writing string to the listbox: {0}“, listBoxContents); } Dùng hình thức đa hình phương thức này thì tuỳ kiểu khai báo của đối tượng nào thì nó dùng phương thức của lớp đó.Tạo phiên bản với từ khoá new và override Khi cần viết lại một phương thức trong lớp kế thừa mà đã có trong lớp cơ sở nhưng ta không muốn nạp chồng lại phương thức virtual trong lớp cơ sở ta dùng từ khoá new đánh dấu trước khi từ khoá virtual trong lớp kế thừa. public class ListBox : Window { public new virtual void Sort( ) {...}Lớp trừu tượng Phương thức trừu tượng là phương thức chỉ có tên thôi và nó phải được cài đặt lại ở tất các các lớp kế thừa. Lớp trừu tượng chỉ thiết lập một cơ sở cho các lớp kế thừa mà nó không thể có bất kỳ một thể hiện nào tồn tại. Cú pháp khai báo phương thức trừu tượng: abstract public void TênPhươngThức( );Ví dụ Xây dựng lớp HinhHoc với phương thức tính chu vi, diện tích là phương thức trừu tượng hoặc phương thức ảo. Sau đó định nghĩa các lớp HinhChuNhat (hình chữ nhật), HinhTron (hình tròn) kế thừa từ lớp HinhHọc với các thành p ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng trong C #: Chương 5 - GV. Phạm Mạnh Cương CHƯƠNG 5THỪA KẾ VÀ ĐA HÌNHNội dung chính Thừa kế là gì? Cài đặt thừa kế Đa hình 1. Thừa kế là gì? C# cho phép tạo ra một lớp mới từ các lớp đã tồn tại. Lớp B kế thừa lớp A, có nghĩa là lớp B sẽ có các thuộc tính và phương thức của A, ngoại trừ các thành phần private. – Lớp B được gọi là lớp con hay lớp dẫn xuất. – Lớp A được gọi là lớp cha hay lớp cơ sở.Một số kiểu thừa kếMột số kiểu thừa kếMột số kiểu thừa kế2. Cài đặt thừa kếCú pháp khai báo lớp dẫn xuất từ một lớp cơ sở như sau:Cú pháp định nghĩa lớp dẫn xuất:class TênLớpCon : TênLớpCơSở{// Thân lớp dẫn xuất}Ví dụ 1using System; class PointApp//Lop co so Point2D {class Point2D public static void Main(){ { public int x,y; Point2D p2 = new Point2D(); public void Xuat2D() p2.x = 1; { p2.y = 2; Console.WriteLine(({0}, {1}), x, y); p2.Xuat2D(); } Point3D p3 = new Point3D();} p3.x = 4; p3.y = 5;//Lop dan xuat Point3D ke thua tu lop Point2Dclass Point3D:Point2D p3.z = 6;{ p3.Xuat3D(); public int z; p3.Xuat2D(); public void Xuat3D() Console.ReadLine(); { Console.WriteLine(({0}, {1}, {2}), x, y, z); } }} }Ví dụ 2using System; public void Xuat2D() {//Lop co so Console.Write(({0}, {1}), x, y);class Point2D }{ } public int x,y; //phuong thuc tao lap cua lop co so co tham so public Point2D(int a, int b) { x = a; y = b; }Ví dụ 2 (tt)//Lop dan xuatclass Point3D:Point2D class PointApp{ { public int z; //Vi phuong thuc tao lap cua lop co so co tham so nen public static void Main() //phuong thuc tao lap cua lop dan xuat cung phai co tham so { public Point3D(int a, int b, int c):base (a,b) Point2D p2 = new Point2D(1, 2); { Console.Write(Toa do cua diem 2 D z = c; :); } p2.Xuat2D(); public void Xuat3D() Console.WriteLine(); { Point3D p3 = new Point3D(4,5,6); Console.Write(({0}, {1}, {2}), x, y, z); Console.Write(Toa do cua diem 3 D } :); p3.Xuat3D();} Console.ReadLine(); } }3. Đa hình Đa hình là việc lớp B thừa kế các đặc tính từ lớp A nhưng có thêm một số cài đặt riêng. Đahình cũng là cách có thể dùng nhiều dạng của một kiểu mà không quan tâm đến chi tiết.Tạo phương thức đa hình Tạo phương thức đa hình, ta cần đặt từ khoá virtual trong phương thức của lớp cơ sở. Ví dụ: public virtual void DrawWindow( )Tạo phương thức đa hình Trong lớp kế thừa để nạp chồng lại mã nguồn của lớp cơ sở ta dùng từ khoá override khi khai báo phương thức và nội dung bên trong viết bình thường. Ví dụ về nạp chồng phương thức DrawWindow: public override void DrawWindow( ) { base.DrawWindow( ); // gọi phương thức của lớp co s ở Console.WriteLine (Writing string to the listbox: {0}“, listBoxContents); } Dùng hình thức đa hình phương thức này thì tuỳ kiểu khai báo của đối tượng nào thì nó dùng phương thức của lớp đó.Tạo phiên bản với từ khoá new và override Khi cần viết lại một phương thức trong lớp kế thừa mà đã có trong lớp cơ sở nhưng ta không muốn nạp chồng lại phương thức virtual trong lớp cơ sở ta dùng từ khoá new đánh dấu trước khi từ khoá virtual trong lớp kế thừa. public class ListBox : Window { public new virtual void Sort( ) {...}Lớp trừu tượng Phương thức trừu tượng là phương thức chỉ có tên thôi và nó phải được cài đặt lại ở tất các các lớp kế thừa. Lớp trừu tượng chỉ thiết lập một cơ sở cho các lớp kế thừa mà nó không thể có bất kỳ một thể hiện nào tồn tại. Cú pháp khai báo phương thức trừu tượng: abstract public void TênPhươngThức( );Ví dụ Xây dựng lớp HinhHoc với phương thức tính chu vi, diện tích là phương thức trừu tượng hoặc phương thức ảo. Sau đó định nghĩa các lớp HinhChuNhat (hình chữ nhật), HinhTron (hình tròn) kế thừa từ lớp HinhHọc với các thành p ...
Tìm kiếm theo từ khóa liên quan:
Ngôn ngữ lập trình Cài đặt thừa kế Lập trình hướng đối tượng Lập trình hướng đối tượng C # Lập trình hướng đối tượng C Kiểu thừa kếGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 264 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 254 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 252 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 230 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 215 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 205 1 0 -
101 trang 198 1 0
-
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 194 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 172 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 163 0 0