Tải bản đầy đủ (.ppt) (15 trang)

thừa kế trong lập trình hướng đối tượng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (119.77 KB, 15 trang )


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ượng
Nhó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
{
class Program

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()
{
Console.Write("Meo ");
}
}

THỪA KẾ TRONG LẬP TRÌNH HƯỚNG
ĐỐI TƯỢNG
class ChoLaiMeo : Cho, IMeo
{
public void Keu()

{
Console.Write("Gau ");
}
}
}

×