1. Trang chủ
  2. » Công Nghệ Thông Tin

CHƯƠNG 7 THỪA KẾ docx

28 231 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 578,39 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KHÁI NiỆM TÍNH THỪA KẾy Lớp mới được tạo ra từ lớp đã có gọi là lớp thừa kế inheritance class hay lớp dẫn xuất derived class y Lớp để tạo ra lớp mới gọi là lớp cơ sở based class hay lớp

Trang 1

CHƯƠNG

CHƯƠNG 7 THỪA KẾ

1

Trang 3

NỘI DUNG CHI TIẾT

3Ệ

Trang 4

KHÁI NiỆM TÍNH THỪA KẾ

y Lớp mới được tạo ra từ lớp đã có gọi là lớp thừa kế

(inheritance class) hay lớp dẫn xuất (derived class)

y Lớp để tạo ra lớp mới gọi là lớp cơ sở (based class)

hay lớp cha (super class)

Trang 5

class PERSON

Để được cái tương đương

class STUDENT

5

ID_Num Name YearOfBirth

class PERSON

ID_Num Name YearOfBirth

YearOfBirth Address

getID_Num() setID_Num(newID)

thừa kế

getScore()

tính chất

LỚP RollNum

Score

getScore() setSore(newScore)

getScore() setSore(newScore)

Trang 6

A A

Trang 9

Ví dụ class float x,y;point{

class coloredpoint:public point {

unsigned int color;

public:

cout<<“Goi ham point::display()\n”; cout<<“toa do :”<<x<<“;”<<y<<endl; }

p display();

p.point::display();

Hành vi của lớp cha

cout<< mau <<color<<endl;

}

};

p.point::display(); }

Trang 10

LƯU Ý

y Lớp dẫn xuất không thể truy cập đến phương thức thiết lập

10

và phương thức hủy bỏ của lớp cơ sở

y Hàm friend (hay lớp friend) của lớp cơ sở không thể

là hàm friend (hay lớp friend) của lớp dẫn xuất

y Các phép toán mới được cài đặt (như là sự định nghĩa

chồng phép toán) có thể được truy cập bình thường trong

lớp dẫn xuất

y Với những phép toán trả về kiểu của lớp cơ sở không sử

y Với những phép toán trả về kiểu của lớp cơ sở, không sử dụng được trong lớp dẫn xuất Điều này vẫn đúng cho cả những phương thức trả về dữ liệu thuộc lớp cơ sở.g p g ệ ộ p

Trang 11

Ví dụclass Double{

Trang 13

CÁC KIỂU THUỘC TÍNH KẾ THỪA

13

Kiểu thuộc tính trong lớp dẫn

ất

Kiể kế hừ

xuất

Kiểu kế thừa Kiểu truy cập

Trang 14

PHƯƠNG THỨC THIẾT LẬP

y Phương thức thiết lập của lớp cơ sở thực hiện trước

14

phương thức thiết lập của lớp dẫn xuất

y Đối với thừa kế bội, phương thức thiết lập của lớp cơ sở

xuất hiện trước được thực hiện trước

Trang 15

PHƯƠNG THỨC HỦY BỎ

y Phương thức hủy bỏ của lớp cơ sở thực hiện sau phương

15

thức hủy bỏ của lớp dẫn xuất

y Đối với thừa kế bội, phương thức hủy bỏ của lớp xuất hiện trước được thực hiện sau

Trang 16

Hàm xây dựng và hàm hủy

Chương 9

y Trong thừa kế, khi khởi tạo đối tượng:

16

{ Hàm xây dựng của lớp cha sẽ được gọi trước

{ Sau đó mới là hàm xây dựng của lớp con.

y Trong thừa kế, khi hủy bỏ đối tượng:

{ Hàm hủy của lớp con sẽ được gọi trước

{ Sau đó mới là hàm hủy của lớp cha.

A

B

Trang 17

ONE(){cout << “First class\n”;}

~ONE(){cout << “Destructor of first class\n”;}

};

class TWO_A:ONE{

public:

TWO_A(){cout << “Second class A\n”;}

~TWO A(){cout << “Destructor of second A\n”;} TWO_A(){cout << Destructor of second A\n ;}

};

class TWO_B:ONE{

public:

TWO B(){ t “S d l B\ ” }

TWO_B(){cout << “Second class B\n”;}

~TWO_B(){cout << “Destructor of second B\n”;}

};

Trang 18

class THREE:TWO_A,TWO_B{

18

THREE(){cout << “Third class\n”;}

~THREE(){cout << “Destructor of third class\n”;}

Third class Destructor of third class Destructor of second B class Destructor of second A class Destructor of first class

Trang 21

Xây dựng lớp dẫn xuấtclass Person:Date{

Trang 22

Phương thức thiết lậpPerson(char *n,int bd,int bm, int

Trang 23

2.16- Gợi ý về phân tích thừa kế

Slide 23/54

(1) Liệt kê đặc điểm của các đối

giao này để xây dựng lớp cha.

(3) Đặt 1 tên gọi có ý nghĩa cho

lớp cha.

(4) Phần còn lại sau khi tách

tập giao là các lớp con

Trang 24

Thừa kế - Bài mẫu

Slide 24/54

Phân tích phân cấp thừa kế cho các lớp:

y Hàng điện máy <mã hàng, tên hàng, nhà sản xuất,

giá, thời gian bảo hành, điện áp, công suất>

y Hàng sành sứ < mã hàng, tên hàng, nhà sản xuất, giá, loại nguyên liệu>

y Hàng thực phẩm <mã hàng tên hàng nhà sản xuất giá, ngày sản xuất, ngày hết hạn dùng>

Trang 25

Bài giải

Slide 25/54

y HangĐienMay < maH,tenH,nsx,gia, tgbh,đa,cs >

y HangSanhSu < maH,tenH,nsx,gia, lnl >

y HangThucPham < maH,tenH,nsx,gia, ngsx,nhhd >

HangHoa

maH tenH nsx gia

HangDienMay HangSanhSu HangThucPham

Trang 26

BÀI TẬP TẠI LỚP

Slide 26/54

Phân tích phân cấp thừa kế cho các đối tượng trong một học viện:

y Nhân viên quản lý <mã nv, tên nv, năm sinh, trình độ, trường đào tạo, chuyên môn , lương cb , phụ cấp chức vụ>

y Nhân viên nghiên cứu <mã nv, tên nv, năm sinh, trình độ, trường đào tạo, chuyên môn , lương cb , phụ cấp độc hại>

y Nhân viên phục vụ <mã nv, tên nv, năm sinh, trình độ, lương cb >

pcđh

Trang 28

THANK YOU

Ngày đăng: 27/07/2014, 13:21

TỪ KHÓA LIÊN QUAN