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

Hướng đối tượng Tính thừa kế

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 (5.66 MB, 11 trang )

Tính kế thừa
I. Cách xây dựng
I. Cách xây dựng
Tính thừa kế là khả năng sử dụng lại dữ
Tính thừa kế là khả năng sử dụng lại dữ
liệu và phương thức của một lớp khi khai
liệu và phương thức của một lớp khi khai
báo một lớp mới.
báo một lớp mới.
Lớp cha (base classs):
class animal
{
public:
void eat(void);
void sleep(void);
void breathe(void);
};
Lớp con (derived class):
class snake : public animal
{ int fench;
int venomous;
public:
void bite (animal sprey)
} anaconda;
Lớp con (derived class):
class mouse : public animal
{ int tail;
int ears;
int leg;
public:
void run(void);


} jerry;
Quan
hệ IS-
A
Tính kế thừa
Truy cập các thành viên của lớp cha
Truy cập các thành viên của lớp cha
Lớp con được tham chiếu đến các dữ liệu
Lớp con được tham chiếu đến các dữ liệu
và phương thức của lớp cha.
và phương thức của lớp cha.
Lớp cha (và do đó các đối tượng của nó)
Lớp cha (và do đó các đối tượng của nó)
không có quyền truy cập đến lớp con.
không có quyền truy cập đến lớp con.
Tùy vào việc khai báo quyền truy cập
Tùy vào việc khai báo quyền truy cập
(public | private | protected) của các thành
(public | private | protected) của các thành
phần ở lớp cha mà có sự khác nhau về
phần ở lớp cha mà có sự khác nhau về
khả năng truy cập các thành phần này
khả năng truy cập các thành phần này
Tính kế thừa
Truy cập các thành viên của lớp cha
NoneNoneXprivate
NoneXXprotected
XXXpublic
Access right
from other

objects
Access right from
members of derived
class
Access right
from its
members
Permission label
Tính kế thừa
Các kiểu thừa kế
Các kiểu thừa kế

Khai báo:
class class_name: inheritance_type base_class {
private: data and function list
public: data and funtion list
protected: …….
} object_list;
Inheritance_type có thể là
public, private hoặc
protected
Không được thừa kếprivate
protectedprivateprotectedprotected
protectedprivatepublicpublic
Thừa kế kiểu
protected
Thừa kế kiểu
private
Thừa kế kiểu
public

Thành viên của
lớp cha là
Tính kế thừa
II. Khi có phương thức xây dựng
II. Khi có phương thức xây dựng
và phương thức hủy bỏ (1)
và phương thức hủy bỏ (1)
Constructor của lớp cơ sở được gọi đầu
Constructor của lớp cơ sở được gọi đầu
tiên, sau đó constructor thích hợp của lớp
tiên, sau đó constructor thích hợp của lớp
con mới được gọi.
con mới được gọi.
Ví dụ: class Base
{
protected: int a;
public: Base(void) {a=0;} //default constructor
Base ( int c) {a=c;} // one argument constructor
}
class Derived
{
public: Derived():Base(){} //default constructor
Derived (int c):Base(c) {} //one argument constructor
}
Chú ý dấu
“:” ở đây

×