Bài giảng Lập trình hướng đối tượng: Bài 3, 4 - Phạm Thị Bích Vân
Số trang: 43
Loại file: pptx
Dung lượng: 519.64 KB
Lượt xem: 19
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài 3, 4 cung cấp kiến thức về lớp và đối tượng. Những nội dung chính trình bày trong bài này gồm: Tạo các lớp, cách đóng gói các thành phần vào lớp, thực thi các hàm của lớp, sử dụng hàm private và dữ liệu public, sử dụng các toán tử định phạm vi truy cập đối với các biến và hàm, khai báo static, tìm hiểu con trỏ this, đa hình.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Bài 3, 4 - Phạm Thị Bích VânBài3:Lớpvàđốitượng Lớp(class)• Lớplàkháiniệmtrungtâmcủalậptrìnhhướngđốitượng.Làsự mởrộngcủastructtrongC.• Lớplàkháiniệmtrừutượng,đểbiểudiễncácđốitượng.Làmột kiểudữliệudongườidùngđịnhnghĩa. ▫ Lớpđưaramiêutảchocácđốitượng. ▫ Lớpcungcấpmộtcáchthuậntiệnđểnhómcácdữliệuvàcáchàm xửlýtrêndữliệuđó. ▫ Khitạoramộtđốitượnglàthểhiệncủalớp.Khiđótựđộngtạora cáctrườngcóliênquan.• Lớpchínhlàmộtkiểudữliệudongườidùngđịnhnghĩa. Sosánhgiữaclassvàstruct• Structvàclassđềulàkiểudữliệudongườidùngđịnhnghĩa(đềuchứa cácbiếnvàhàm).• StructlàkiểudữliệuthamtrịđượclưutrongStack.Trongkhilớplà kiểudữliệuthamchiếuđượclưutrongheap.• Structkhônghỗtrợkếthừa,lớpcóhỗtrợkếthừa.• Structphùhợpvớicáccấutrúcdữliệunhỏ.Lớpphùhợpvớicáccấu trúcdữliệuphứctạp.• Structđượckhởitạokhôngcầntừkhóanew.Khởitạolớpcầntừkhóa new.• Khistructđượckhởitạovớitừkhóanew,khiđómộtconstructor(hàm khởidựng)đượcgọiđểkhởitạocáctrườngtrongcấutrúc.• Khistructđượckhởitạokhôngdùngtừkhóanewthìkhôngcó constructorđượcgọi,dovậyngườidùngcầnkhởitạotấtcảcáctrường trướckhisửdụng. Nộidung• Tạocáclớp.• Cáchđónggóicácthànhphầnvàolớp.• Thựcthicáchàmcủalớp.• Sửdụnghàmprivatevàdữliệupublic• Sửdụngcáctoántửđịnhphạmvitruycậpđốivớicácbiến vàhàm.• Khaibáostatic• Tìmhiểucontrỏthis.• Đahình Khaibáomộtclass• Khaibáo. class { [quyềntruyxuất:] //khaibáocácthànhphầndữliệucủalớp [quyềntruyxuất:] //khaibáocácthànhphầnhàmcủalớp }; Khaibáomộtclass[quyềntruyxuất:] § Làkhảnăngtruyxuấtthànhphầndữliệu § Ngầmđịnhlàprivate private:trongphạmvilớpđó public:ởmọinơinếuđốitượngtồntại protected:phạmvilớpđóvàcáclớpconkếthừa Chúý:Cácthuộctínhthànhviêncủastructcũngcóthểđượcthiếtlậplà private,publichoặcprotected. KhaibáomộtclassStudent aSophomore;aSophomore.idNum = 7645; Error! By default, all members of acoutKhaibáomộtclass Access modifierĐónggóicácthànhphầncủamộtlớp Khaibáothànhphần § Dữliệu: Tươngtựnhưkhaibáobiến ; Kiểudữliệucóthểlàkiểucơbảnhoặckiểudongườidùngđịnh nghĩa Chúý:khôngđượckhởitạogiátrịbanđầu 9/20ĐónggóicácthànhphầncủamộtlớpKhaibáothànhphần § Hàmthànhphần Cách1:Khaibáotronglớpvàđịnhnghĩangoàilớp tênlớp::([đốisô]) { // } Cách2:địnhnghĩangaytronglớp 10/20ĐónggóicácthànhphầncủamộtlớpĐónggóicácthànhphầncủamộtlớp VídụVídụ1: Xâydựngcấutrúcdữliệumôtảsinhviên: Dữliệu:họtên,ngàysinh,giớitính,Điểmtoán,lý, hóa,ĐtbPhươngthức:nhập,tínhđtb,inLớpsinhviên VídụVídụ2Xâydựngcấutrúcdữliệumôtảcáchóađơn:Dữliệu:mãvậttư,tênvậttư,loạiphiếu,ngàylập,khốilượng,đơngiá,thànhtiền…Phươngthức:nhập,tínhthànhtiền,inLớpcáchóađơn VídụVídụ3Xâydựngcấutrúcdữliệumôtảcácphânsố:Dữliệu:tửsố,mẫusốPhươngthức:nhập,tốigiản,inLớpcácphânsố KhaibáođốitượngCúpháp:;Vídụ:khaibáo2đốitượngsinhviên SVsv1,sv2;Khiđósv1,sv2làhaiđốitượngsinhviên Truyxuấtđốitượng.; Vídụ:truyxuấthọtênvàngàysinhcủasv sv1.ht; sv2.ns; Nếulàcontrỏ:>; Hàmkhởitạo(constructor)• Hàmkhởitạolàmộtphươngthứcđặcbiêtcủalớp.• Hàmkhởitạođượcthựcthimỗikhikhởitạomộtđốitượng.• Chúý: • Têncủahàmkhởitạophảitrùngvớitênlớp. • Khôngcókhaibáokiểuchohàmtạo. • Hàmtạocóthểcóthamsốhoặckhôngcóthamsố. • Cóthểnạpchồngnhiềuhàmtạo. HàmkhởitạoKhaibáo:([dsthamsố]);Địnhnghĩangoàilớp:::([dsthamsố]){//thânhàm}Dùnghàmtạođểkhởigáncácgiátrị thuộctínhchođốitượng ClassDiem { intx; inty; Diem(intx,inty); }; Diem::Diem(intx,inty) { this>x=x; this>y=y; } intmain() { ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Bài 3, 4 - Phạm Thị Bích VânBài3:Lớpvàđốitượng Lớp(class)• Lớplàkháiniệmtrungtâmcủalậptrìnhhướngđốitượng.Làsự mởrộngcủastructtrongC.• Lớplàkháiniệmtrừutượng,đểbiểudiễncácđốitượng.Làmột kiểudữliệudongườidùngđịnhnghĩa. ▫ Lớpđưaramiêutảchocácđốitượng. ▫ Lớpcungcấpmộtcáchthuậntiệnđểnhómcácdữliệuvàcáchàm xửlýtrêndữliệuđó. ▫ Khitạoramộtđốitượnglàthểhiệncủalớp.Khiđótựđộngtạora cáctrườngcóliênquan.• Lớpchínhlàmộtkiểudữliệudongườidùngđịnhnghĩa. Sosánhgiữaclassvàstruct• Structvàclassđềulàkiểudữliệudongườidùngđịnhnghĩa(đềuchứa cácbiếnvàhàm).• StructlàkiểudữliệuthamtrịđượclưutrongStack.Trongkhilớplà kiểudữliệuthamchiếuđượclưutrongheap.• Structkhônghỗtrợkếthừa,lớpcóhỗtrợkếthừa.• Structphùhợpvớicáccấutrúcdữliệunhỏ.Lớpphùhợpvớicáccấu trúcdữliệuphứctạp.• Structđượckhởitạokhôngcầntừkhóanew.Khởitạolớpcầntừkhóa new.• Khistructđượckhởitạovớitừkhóanew,khiđómộtconstructor(hàm khởidựng)đượcgọiđểkhởitạocáctrườngtrongcấutrúc.• Khistructđượckhởitạokhôngdùngtừkhóanewthìkhôngcó constructorđượcgọi,dovậyngườidùngcầnkhởitạotấtcảcáctrường trướckhisửdụng. Nộidung• Tạocáclớp.• Cáchđónggóicácthànhphầnvàolớp.• Thựcthicáchàmcủalớp.• Sửdụnghàmprivatevàdữliệupublic• Sửdụngcáctoántửđịnhphạmvitruycậpđốivớicácbiến vàhàm.• Khaibáostatic• Tìmhiểucontrỏthis.• Đahình Khaibáomộtclass• Khaibáo. class { [quyềntruyxuất:] //khaibáocácthànhphầndữliệucủalớp [quyềntruyxuất:] //khaibáocácthànhphầnhàmcủalớp }; Khaibáomộtclass[quyềntruyxuất:] § Làkhảnăngtruyxuấtthànhphầndữliệu § Ngầmđịnhlàprivate private:trongphạmvilớpđó public:ởmọinơinếuđốitượngtồntại protected:phạmvilớpđóvàcáclớpconkếthừa Chúý:Cácthuộctínhthànhviêncủastructcũngcóthểđượcthiếtlậplà private,publichoặcprotected. KhaibáomộtclassStudent aSophomore;aSophomore.idNum = 7645; Error! By default, all members of acoutKhaibáomộtclass Access modifierĐónggóicácthànhphầncủamộtlớp Khaibáothànhphần § Dữliệu: Tươngtựnhưkhaibáobiến ; Kiểudữliệucóthểlàkiểucơbảnhoặckiểudongườidùngđịnh nghĩa Chúý:khôngđượckhởitạogiátrịbanđầu 9/20ĐónggóicácthànhphầncủamộtlớpKhaibáothànhphần § Hàmthànhphần Cách1:Khaibáotronglớpvàđịnhnghĩangoàilớp tênlớp::([đốisô]) { // } Cách2:địnhnghĩangaytronglớp 10/20ĐónggóicácthànhphầncủamộtlớpĐónggóicácthànhphầncủamộtlớp VídụVídụ1: Xâydựngcấutrúcdữliệumôtảsinhviên: Dữliệu:họtên,ngàysinh,giớitính,Điểmtoán,lý, hóa,ĐtbPhươngthức:nhập,tínhđtb,inLớpsinhviên VídụVídụ2Xâydựngcấutrúcdữliệumôtảcáchóađơn:Dữliệu:mãvậttư,tênvậttư,loạiphiếu,ngàylập,khốilượng,đơngiá,thànhtiền…Phươngthức:nhập,tínhthànhtiền,inLớpcáchóađơn VídụVídụ3Xâydựngcấutrúcdữliệumôtảcácphânsố:Dữliệu:tửsố,mẫusốPhươngthức:nhập,tốigiản,inLớpcácphânsố KhaibáođốitượngCúpháp:;Vídụ:khaibáo2đốitượngsinhviên SVsv1,sv2;Khiđósv1,sv2làhaiđốitượngsinhviên Truyxuấtđốitượng.; Vídụ:truyxuấthọtênvàngàysinhcủasv sv1.ht; sv2.ns; Nếulàcontrỏ:>; Hàmkhởitạo(constructor)• Hàmkhởitạolàmộtphươngthứcđặcbiêtcủalớp.• Hàmkhởitạođượcthựcthimỗikhikhởitạomộtđốitượng.• Chúý: • Têncủahàmkhởitạophảitrùngvớitênlớp. • Khôngcókhaibáokiểuchohàmtạo. • Hàmtạocóthểcóthamsốhoặckhôngcóthamsố. • Cóthểnạpchồngnhiềuhàmtạo. HàmkhởitạoKhaibáo:([dsthamsố]);Địnhnghĩangoàilớp:::([dsthamsố]){//thânhàm}Dùnghàmtạođểkhởigáncácgiátrị thuộctínhchođốitượng ClassDiem { intx; inty; Diem(intx,inty); }; Diem::Diem(intx,inty) { this>x=x; this>y=y; } intmain() { ...
Tìm kiếm theo từ khóa liên quan:
Lập trình hướng đối tượng Bài giảng Lập trình hướng đối tượng Object Oriented Programming Tạo các lớp Khai báo một class Khai báo đối tượngTài liệu có liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 316 0 0 -
101 trang 211 1 0
-
14 trang 141 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 129 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 104 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 103 0 0 -
265 trang 93 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 86 0 0 -
33 trang 75 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 58 0 0