Lập trình hướng đối tượng tren C/C++ - OOP 08 object life cycle in inheritance - Pdf 95

VòngVòng đờiđời đốiđối tượngtượng trongtrong
kếkế
thừathừa
GV. GV. NguyễnNguyễn Minh Minh HuyHuy
kếkế
thừathừa
1Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Nội dungNội dung
 KhởiKhởi tạotạo trongtrong kếkế thừathừa
 HủyHủy trongtrong kếkế thừathừa
 VấnVấn đềđề con con trỏtrỏ trongtrong kếkế thừathừa
2Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Nội dungNội dung
 KhởiKhởi tạotạo trongtrong kếkế thừathừa
 HủyHủy trongtrong kếkế thừathừa
 VấnVấn đềđề con con trỏtrỏ trongtrong kếkế thừathừa
3Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
KhởiKhởi tạotạo trongtrong kếkế thừathừa
 Trình tự tạo lập đối tượng kế thừa:Trình tự tạo lập đối tượng kế thừa:

Nhà được xây từ móng đến mái.Nhà được xây từ móng đến mái.
 Khái niệm được định nghĩa từ thấp đến cao.Khái niệm được định nghĩa từ thấp đến cao.
 Đối tượng được tạo lập từ lõi đến vỏ.Đối tượng được tạo lập từ lõi đến vỏ.
 Thành phần kế thừa từ lớp cơ sở được tạo trước.Thành phần kế thừa từ lớp cơ sở được tạo trước.
4Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Xây móng đến mái Định nghĩa thấp đến cao
Đối tượng kế thừa
Thành phần mới
Đối tượng cơ sở
Thành phần cơ sở
Tạo lập từ lõi đến vỏ

{{
private:private:
charchar **m_hoTenm_hoTen;;
floatfloat m_mucLuongm_mucLuong;;
intint m_ngayNghim_ngayNghi;;
public:public:
class class GVCNGVCN : public : public GiaoVienGiaoVien
{{
private:private:
charchar **m_lopCNm_lopCN;;
public:public:
GVCN();GVCN();
GVCN(char *GVCN(char *
lopCNlopCN
););
6Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
public:public:
GiaoVienGiaoVien();();
GiaoVienGiaoVien(char *(char *hoTenhoTen,,
float float mucLuongmucLuong,,
intint ngayNghingayNghi););
};};
GVCN(char *GVCN(char *
lopCNlopCN
););
GVCN(char *GVCN(char *hoTenhoTen,,
float float mucLuongmucLuong,,
intint ngayNghingayNghi,,
char *char *lopCNlopCN););
};};

}}
GVCNGVCN::GVCN::GVCN()()
{{
}}
GiaoVien() được gọi trước
Nội dungNội dung
 KhởiKhởi tạotạo trongtrong kếkế thừathừa
 HủyHủy trongtrong kếkế thừathừa
 VấnVấn đềđề con con trỏtrỏ trongtrong kếkế thừathừa
8Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
HủyHủy trongtrong kếkế thừathừa
 TrìnhTrình tựtự hủyhủy đốiđối tượngtượng kếkế thừathừa::

NgượcNgược lạilại vớivới trìnhtrình tựtự tạotạo lậplập
 PhươngPhương thứcthức hủyhủy lớplớp kếkế thừathừa đượcđược gọigọi trướctrước




 PhầnPhần vỏvỏ bênbên ngoàingoài đượcđược hủyhủy trướctrước
 PhươngPhương thứcthức hủyhủy lớplớp kếkế cơcơ sởsở đượcđược gọigọi sausau
9Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy




 PhầnPhần lõilõi cơcơ sởsở đượcđược hủyhủy sausau
 MỗiMỗi lớplớp chỉchỉ cócó mộtmột cáchcách hủyhủy




LớpLớp cócó thuộcthuộc tínhtính con con trỏtrỏ??
 PhảiPhải tựtự thêmthêm vàovào lớplớp ““baba ôngông lớnlớn””::
 PhươngPhương thứcthức hủyhủy
 PhươngPhương thứcthức khởikhởi tạotạo saosao chépchép
ToánToán
tửtử
gángán

VấnVấn đềđề con con trỏtrỏ trongtrong kếkế thừathừa
12Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy

ToánToán
tửtử
gángán

 LớpLớp kếkế thừathừa cócó thuộcthuộc tínhtính con con trỏtrỏ??
VấnVấn đềđề con con trỏtrỏ trongtrong kếkế thừathừa
 Dr. Guru Dr. Guru khuyênkhuyên::
((LuậtLuật ““baba ôngông lớnlớn” ” trongtrong kếkế thừathừa))

LớpLớp kếkế thừathừa cócó thuộcthuộc tínhtính con con trỏtrỏ::
 TrangTrang bịbị ““baba ôngông lớnlớn” ” chocho lớplớp kếkế thừathừa
 KíchKích hoạthoạt ““baba ôngông lớnlớn” ” củacủa lớplớp cơcơ sởsở từtừ ““baba ôngông lớnlớn” ”
13Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
củacủa lớplớp kếkế thừathừa
VấnVấn đềđề con con trỏtrỏ trongtrong kếkế thừathừa
 VíVí dụdụ::
class Aclass A
{{

KhởiKhởi tạotạo từtừ lõilõi đếnđến vỏvỏ
 TạoTạo lõilõi: : phươngphương thứcthức khởikhởi tạotạo lớplớp cơcơ sởsở gọigọi trướctrước
 TạoTạo vỏvỏ: : phươngphương thứcthức khởikhởi tạotạo lớplớp kếkế thừathừa gọigọi sausau,,
 CóCó thểthể chỉchỉ địnhđịnh phươngphương thứcthức khởikhởi tạotạo lớplớp cơcơ sởsở
 HủyHủy trongtrong kếkế thừathừa::

HủyHủy từtừ vỏvỏ vàovào lõilõi
 HủyHủy lõilõi: : phươngphương thứcthức hủyhủy lớplớp kếkế thừathừa
 HủyHủy vỏvỏ: : phươngphương thứcthức hủyhủy lớplớp cơcơ sởsở
 LuậtLuật ““baba ôngông lớnlớn” ” trongtrong kếkế thừathừa
15Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
BàiBài tậptập
 BàiBài tậptập 8.1:8.1:
class Aclass A
{ public:{ public:
A(A(intint iXiX) { }) { }
};};
class B: public Aclass B: public A
{ public:{ public:
B(): A(0) { }B(): A(0) { }
Cho Cho biếtbiết thứthứ tựtự gọigọi hàmhàm dựngdựng vớivới::
a) void main() { C a) void main() { C objobj(1, 2, 3); }(1, 2, 3); }
b) void main() { C b) void main() { C objobj(4); }(4); }
c) void main() { C c) void main() { C objobj; }; }
B(): A(0) { }B(): A(0) { }
B(B(intint iXiX, , intint iYiY): A(): A(iXiX) { }) { }
};};
class C: public Bclass C: public B
{ public:{ public:
C() { }C() { }

public:public:
Z(Z(intint ii): Y(): Y(ii++) { }++) { }
};};
18Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Y obj2(obj1);Y obj2(obj1);
}}
c) void main()c) void main()
{{
Z obj1(7);Z obj1(7);
Z obj2(obj1);Z obj2(obj1);
}}
BàiBài tậptập
 BàiBài tậptập 8.4:8.4:
HãyHãy vẽvẽ câycây kếkế thừathừa chocho nhữngnhững lớplớp đốiđối tượngtượng hìnhhình họchọc::
((cócó thểthể phátphát sinhsinh thêmthêm nhữngnhững lớplớp cơcơ sởsở cầncần thiếtthiết))
VuôngVuông Tam Tam giácgiác vuôngvuông
TrònTròn Tam Tam giácgiác câncân

Ellipse.Ellipse.

Tam Tam
giácgiác
vuôngvuông
câncânEllipse.Ellipse.

Tam Tam
giácgiác

thườngthường
: :
giágiá
vévé
ở ở
hànghàng
ghếghế
trungtrung
tâmtâm
làlà
80000.80000.
RạpRạp caocao cấpcấp: : giágiá vévé ở ở hànghàng ghếghế trungtrung tâmtâm làlà 120000, 120000, ngoàingoài rara
rạprạp cócó khuyếnkhuyến mãimãi giảmgiảm 2020% % giágiá vévé vàovào ngàyngày thứthứ nămnăm hànghàng tuầntuần
20Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
BàiBài tậptập
 BàiBài tậptập 8.5:8.5:
HãyHãy xâyxây dựngdựng lớplớp RapThuongRapThuong vàvà RapCaoCapRapCaoCap, , chocho phépphép::
KhởiKhởi tạotạo rạprạp phimphim vớivới sốsố lươnglương ghếghế M x N M x N chocho trướctrước
ĐặtĐặt vévé tạitại mộtmột vịvị trítrí ghếghế nàonào đóđó
Cho Cho biếtbiết giágiá vévé tạitại mộtmột vịvị trítrí ghếghế nàonào đóđó

Cho Cho
biếtbiết
mộtmột
vịvị
trítrí
ghếghế
nàonào
đóđó
còncòn


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status