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

VòngVòng
đờiđời
đốiđối
tượngtượng
GV. GV. NguyễnNguyễn Minh Minh HuyHuy
VòngVòng
đờiđời
đốiđối
tượngtượng
1Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
NộiNội dungdung
 PhươngPhương thứcthức khởikhởi tạotạo
 PhươngPhương thứcthức hủyhủy
 ThànhThành phầnphần tĩnhtĩnh
 Class Template.Class Template.
2Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
NộiNội dungdung
 PhươngPhương thứcthức khởikhởi tạotạo
 PhươngPhương thứcthức hủyhủy
 ThànhThành phầnphần tĩnhtĩnh
 Class Template.Class Template.
3Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
PhươngPhương thứcthức khởikhởi tạotạo
 VấnVấn đềđề khởikhởi tạotạo thôngthông tin tin đốiđối tượngtượng::

GiáGiá trịtrị ban ban đầuđầu củacủa thuộcthuộc tínhtính??
class class PhanSoPhanSo
{{
private:private:
intint m_tum_tu;;
intint

 Vi Vi phạmphạm ““tínhtính chấtchất hộphộp đenđen”.”.
 NgườiNgười dùngdùng quênquên gọigọi
 ““LàmLàm khaikhai sinhsinh” ” chocho đốiđối tượngtượng

PhươngPhương
thứcthức
khởikhởi
tạotạo


PhươngPhương
thứcthức
khởikhởi
tạotạo

5Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
PhươngPhương thứcthức khởikhởi tạotạo
 TínhTính chấtchất phươngphương thứcthức khởikhởi tạotạo::

BắtBắt buộcbuộc gọigọi khikhi khaikhai báobáo đốiđối tượngtượng
 CóCó thểthể nạpnạp chồngchồng nhiềunhiều phươngphương thứcthức
 KhôngKhông cócó giágiá trịtrị trảtrả vềvề
 CóCó têntên trùngtrùng têntên lớplớp ((trongtrong C++).C++).
class class PhanSoPhanSo
{{
private:private:
intint m_tum_tu;;
intint m_maum_mau;;
public:public:
PhanSoPhanSo((intint tutu, , intint maumau););

PhươngPhương thứcthức khởikhởi tạotạo
 PhươngPhương thứcthức khởikhởi tạotạo saosao chépchép::

““LàmLàm khaikhai sinhsinh” ” bằngbằng saosao chépchép đốiđối tượngtượng kháckhác
 ThamTham sốsố làlà đốiđối tượngtượng cùngcùng lớplớp
 LuônLuôn tồntồn tạitại trongtrong lớplớp ((trìnhtrình biênbiên dịchdịch cấpcấp).).
class class PhanSoPhanSo
{{
void void mainmain()()
{{
{{
private:private:
intint m_tuSom_tuSo;;
intint m_mauSom_mauSo;;
public:public:
PhanSoPhanSo(const (const PhanSoPhanSo &p);&p);
};};
8Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
{{
PhanSoPhanSo p1(1, 2p1(1, 2););
PhanSoPhanSo p2(p1p2(p1););
PhanSoPhanSo p3 = p2p3 = p2;;
}}
PhươngPhương thứcthức khởikhởi tạotạo
 Dr. Guru Dr. Guru khuyênkhuyên::

MộtMột lớplớp nênnên cócó tốitối thiểuthiểu 3 3 phươngphương thứcthức khởikhởi tạotạo::
 KhởiKhởi tạotạo mặcmặc địnhđịnh
 KhởiKhởi tạotạo saosao chépchép
 KhởiKhởi tạotạo vớivới đầyđầy đủđủ thôngthông tin.tin.

” ”
chocho
đốiđối
tượngtượng

HocSinh
Họ tên

Điểm
văn

““
LàmLàm
didi
chúcchúc
” ”
chocho
đốiđối
tượngtượng

 PhươngPhương thứcthức hủyhủy
class class HocSinhHocSinh
{{
private:private:
charchar **m_hoTenm_hoTen;;
public:public:
void void thuHoiBoNhothuHoiBoNho() { () {
delete delete m_hoTenm_hoTen; }; }
};};
11Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy

HocSinhHocSinh *p = *p = new new HocSinhHocSinh;;
delete delete pp;;
}}
NộiNội dungdung
 PhươngPhương thứcthức khởikhởi tạotạo
 PhươngPhương thứcthức hủyhủy
 ThànhThành phầnphần tĩnhtĩnh
 Class Template.Class Template.
13Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
ThànhThành phầnphần tĩnhtĩnh
 ChiaChia sẻsẻ giữagiữa cáccác đốiđối tượngtượng cùngcùng lớplớp::

MỗiMỗi đốiđối tượngtượng cócó bảnbản saosao riêngriêng::
 ThuộcThuộc tínhtính
 PhươngPhương thứcthức
 ThànhThành phầnphần đốiđối tượngtượng
MuốnMuốn
dùngdùng
chungchung
thôngthông
tin?tin?
PhanSo
Tử số
Mẫu số

MuốnMuốn
dùngdùng
chungchung
thôngthông
tin?tin?

public:public:
static static intint layGiaTriLNlayGiaTriLN();();
private:private:
intint m_tum_tu;;
intint m_maum_mau;;
};};
15Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
PhanSoPhanSo::::m_giaTriLNm_giaTriLN = = 10000;10000;
void void mainmain()()
{{
intint x x = = PhanSoPhanSo::::layGiaTriLNlayGiaTriLN();();
}}
NộiNội dungdung
 PhươngPhương thứcthức khởikhởi tạotạo
 PhươngPhương thứcthức hủyhủy
 ThànhThành phầnphần tĩnhtĩnh
 Class Template.Class Template.
16Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Class TemplateClass Template
 XétXét lớplớp mảngmảng::

CácCác phầnphần tửtử làlà sốsố nguyênnguyên
 TổngTổng quátquát: : cáccác phầnphần tửtử kiểukiểu bấtbất kỳkỳ
 ThamTham sốsố hóahóa thuộcthuộc tínhtính, , phươngphương thứcthức
 Class Template.Class Template.
17Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Class TemplateClass Template
 CáchCách sửsử dụngdụng Class Template:Class Template:
template <class T>template <class T>
class class MangMang

PhanSoPhanSo p = m2.layPhanTu(2);p = m2.layPhanTu(2);
}}
TómTóm tắttắt
 PhươngPhương thứcthức khởikhởi tạotạo::

““LàmLàm khaikhai sinhsinh” ” chocho đốiđối tượngtượng
 BắtBắt buộcbuộc gọigọi khikhi khaikhai báobáo
 CóCó thểthể nạpnạp chồngchồng

PhươngPhương
thứcthức
hủyhủy
::

PhươngPhương
thứcthức
hủyhủy
::
 ““LàmLàm didi chúcchúc” ” chocho đốiđối tượngtượng
 TựTự độngđộng gọigọi khikhi hủyhủy
 CóCó duyduy nhấtnhất mộtmột
19Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
TómTóm tắttắt
 ThànhThành phầnphần tĩnhtĩnh::

DùngDùng chungchung chocho đốiđối tượngtượng củacủa lớplớp
 KhaiKhai báobáo bằngbằng từtừ khóakhóa “static”.“static”.
 TruyTruy xuấtxuất bằngbằng toántoán tửtử ::.::.

Class Template:Class Template:

BàiBài tậptập
 BàiBài tậptập 3.2:3.2:
TrangTrang bịbị chocho lớplớp họchọc sinhsinh nhữngnhững cáchcách khởikhởi tạotạo vàvà hủyhủy sausau::
 KhởiKhởi tạotạo vớivới họhọ têntên vàvà điểmđiểm vănvăn, , toántoán chocho trướctrước
 KhởiKhởi tạotạo vớivới họhọ têntên chocho trướctrước, , điểmđiểm vănvăn, , toántoán = 0.= 0.
 KhởiKhởi tạotạo từtừ mộtmột họchọc sinhsinh kháckhác

HủyHủy
đốiđối
tượngtượng
họchọc
sinhsinh
, ,
thuthu
hồihồi
bộbộ
nhớnhớ


HủyHủy
đốiđối
tượngtượng
họchọc
sinhsinh
, ,
thuthu
hồihồi
bộbộ
nhớnhớ


 BàiBài tậptập 3.4:3.4:
TrangTrang bịbị chocho lớplớp phânphân sốsố nhữngnhững phươngphương thứcthức sausau::
 ĐếmĐếm sốsố lượnglượng phânphân sốsố đượcđược tạotạo rara
 TạoTạo vàvà trảtrả vềvề phânphân sốsố vớivới tửtử vàvà mẫumẫu chocho trướctrước
24Phươ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 3.5:3.5:
XâyXây dựngdựng lớplớp mảngmảng kiểukiểu dữdữ liệuliệu bấtbất kỳkỳ
25Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy


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