THẢO LUẬN NGÔN NGỮ LẬP TRÌNH Đề tài:
Thừa kế trong lập trình hướng đối tượngNhóm 4A:
Nguyễn Minh Quan Huấn 070128T Nguyễn Minh Hoàng 070120T Đặng Thanh Bình 070035T Lưu Văn Minh Tri 070351T
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Lập trình hướng đối tượng là gì?
Lập trình hướng đối tượng (OPP) là kỹ thuật lập trình hỗ trợ công nghệ đối tượng
Giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm.
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Thừa kế là gì?
Thừa kế là một trong những điểm đặc biệt của lập trình hướng đối tượng
Tạo ra những kiểu mới dựa trên những kiểu đã có với những kỹ năng mới
Thực hiện bằng cách tạo ra lớp con từ lớp có sẵn
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Lớp dẫn xuất và thừa kế
Một lớp được xây dựng thừa kế một lớp khác gọi là dẫn xuất.
Lớp dùng để xây dựng lớp dẫn xuất gọi là lớp cơ sở
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Cách xây dựng lớp dẫn xuất.
Để xây dựng lớp C dẫn xuất từ A và B, ta viết như sau:
Class C : public A, public B {
Private:
// Khai báo các thuộc tính Public:
// Các phương thức };
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Thừa kế đơn
class D : px B {
… };
B là lớp cơ sở-lớp có trước D lớp thừa kế trực tiếp
px thuộc tính thừa kế(public, private, protected)
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
D sẽ được thừa kế tất cả các thành phần từ B
- về dữ liêu: Một lớp dẫn xuất sẽ thừa kế tất cả các thành phần dữ liệu của lớp cơ sở
- về hàm thành phần: tất cả trừ hàm tạo, hàm hủy, hàm bạn và hàm toán tử gán
Các thành phần có cùng tên bị ẩn đi
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Thừa kế đa
Đa thừa kế là việc một lớp có nhiều lớp cơ sở trực tiếp
Một lớp có thể có bao nhiêu lớp tùy ý
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG
ĐỐI TƯỢNG
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Đoạn C++ sử dụng đa thừa kế
#include <iostream.h>
class Cho {public:
void Keu() { cout << "Gau..."; } };
class Meo {public:
void Keu() { cout << "Meo..."; }
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
class ChoLaiMeo: public Meo, Cho {
};
void Test(Meo m) { m.Keu();
}
void main()
{ ChoLaiMeo cm;
Test(cm);
}
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Đoạn code C# sử dung interface using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
{
static void Main(string[] args) {
ChoLaiMeo cm = new ChoLaiMeo();
Test(cm);
}
public static void Test(IMeo c) {
c.Keu();
} }
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
class Cho {
}
interface IMeo {
void Keu();
}
class Meo : IMeo {
public void Keu() {
THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
class ChoLaiMeo : Cho, IMeo {
public void Keu() {
Console.Write("Gau...");
} } }