intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình hướng đối tượng và C++: Chương 3

Chia sẻ: đinh Thị Tú Oanh | Ngày: | Loại File: PDF | Số trang:5

69
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung chương 3 trình bày đến người học những vấn đề liên quan đến "Lớp và đối tượng", cụ thể như: Lớp khai báo, định nghĩa hàm thành viên, đối tượng: khai báo, sử dụng, gán, sơ lược về hàm xây dựng, hàm hủy, dữ liệu và hàm thành viên tĩnh, khai thác 1 lớp,...Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng và C++: Chương 3

N i dung<br /> • L p: khai báo, ñ nh nghĩa hàm thành viên.<br /> <br /> Chương 3<br /> <br /> • ð i tư ng: khai báo, s d ng, gán.<br /> <br /> L P VÀ ð I TƯ NG<br /> <br /> • Sơ lư c v hàm xây d ng, hàm h y<br /> • D li u và hàm thành viên tĩnh<br /> • Khai thác 1 l p<br /> <br /> 1<br /> <br /> 2<br /> <br /> L p<br /> <br /> L p<br /> <br /> • Khai báo<br /> <br /> • Đ nh nghĩa hàm thành viên<br /> <br /> class {<br /> Thu c tính truy c p :<br /> <br /> Thu c tính truy c p :<br /> <br /> };<br /> <br /> Toán t ch<br /> ph m vi<br /> :: ( Các tham s<br /> <br /> + Ki u )<br /> <br /> {<br /> < Khai báo các d<br /> <br /> li u c c b<br /> <br /> c a hàm><br /> <br /> < Thân hàm - N i dung hàm ><br /> <br /> Sơ ñ l p<br /> ñi m trong<br /> không gian<br /> 2 chi u<br /> <br /> < Câu l nh return ><br /> }<br /> <br /> 3<br /> <br /> 4<br /> <br /> L p<br /> <br /> ð i tư ng<br /> <br /> • Ví d<br /> <br /> • Kh i t o ñ i tư ng<br /> – D ng bi n:<br /> VD:<br /> <br /> ;<br /> <br /> Diem a, b;<br /> <br /> – D ng m ng: [Kích thư c];<br /> VD:<br /> <br /> Diem mang[10];<br /> 1000H<br /> <br /> x<br /> y<br /> a<br /> <br /> 1004H<br /> <br /> x<br /> y<br /> <br /> 1008H<br /> x<br /> y<br /> mang<br /> <br /> b<br /> 5<br /> <br /> 6<br /> <br /> ð i tư ng<br /> <br /> ð i tư ng<br /> <br /> • Kh i t o ñ i tư ng<br /> <br /> • S d ng ñ i tư ng<br /> <br /> – D ng con tr :<br /> VD:<br /> <br /> – Khi kh i t o ñ i tư ng xong, ta có th :<br /> • Truy xu t ñ n d li u thành viên c a ñ i tư ng.<br /> • G i hàm trên ñ i tư ng.<br /> tùy theo thu c tính truy c p c a các thành ph n ñó.<br /> <br /> Diem *pa, *ds;<br /> pa= new Diem; ds= new Diem[10];<br /> delete pa; delete[] ds;<br /> <br /> Chú ý: Ph i c p và thu h i vùng nh cho con tr ñ i tư ng.<br /> *pa1060<br /> <br /> *ds 1064<br /> <br /> x<br /> y<br /> <br /> 1060H<br /> <br /> 1064H<br /> x<br /> y<br /> 7<br /> <br /> 8<br /> <br /> ð i tư ng<br /> <br /> ð i tư ng<br /> <br /> • Ví d<br /> <br /> • Phép gán ñ i tư ng:<br /> – Dùng d u = ( có s n trong ngôn ng C++).<br /> – Th c ch t là gán tương ng các thành ph n d li u c a hai<br /> ñ i tư ng cho nhau.<br /> – Ch ñúng khi thành ph n d li u không có con tr .<br /> => Ph i ñ nh nghĩa l i phép gán khi d li u có con tr .<br /> void main() {<br /> Diem<br /> Diem<br /> <br /> a;<br /> <br /> a.KhoiTao(10,20);<br /> <br /> b, *pb;<br /> <br /> b = a;<br /> <br /> // In ra (10, 20)<br /> <br /> b.InDiem();<br /> <br /> pb = new Diem;<br /> 9<br /> <br /> *pb = a; pb->InDiem();<br /> <br /> // In ra (10, 20)<br /> <br /> Hàm xây d ng – Hàm h y<br /> <br /> Hàm xây d ng – Hàm h y<br /> <br /> • Hàm xây d ng (Constructor)<br /> <br /> • Hàm xây d ng (constructor)<br /> <br /> – T i sao c n hàm xây d ng ?<br /> <br /> 10<br /> <br /> – Dùng ñ kh i t o ñ i tư ng:<br /> • Gán giá tr ñ u cho các d li u thành viên.<br /> • C p vùng nh cho các con tr thành viên.<br /> <br /> – Cú pháp:<br /> • Cùng tên v i tên l p, không có tr tr v (k c void).<br /> hi u<br /> <br /> ng ph<br /> <br /> • Có th không có hay có nhi u tham s .<br /> • Có th không có, có 1 hay nhi u hàm xây d ng.<br /> <br /> – S d ng :<br /> C n ph i kh i t o giá tr ban ñ u<br /> cho các d li u thành viên<br /> <br /> • Không ñư c g i tr c ti p.<br /> • S ñư c t ñ ng g i khi kh i t o ñ i tư ng.<br /> 11<br /> <br /> 12<br /> <br /> Hàm xây d ng – Hàm h y<br /> <br /> Hàm xây d ng – Hàm h y<br /> <br /> • Ví d 1 v hàm xây d ng<br /> <br /> • Ví d 2 v hàm xây d ng<br /> <br /> class Diem {<br /> int x,y;<br /> public:<br /> Diem();// xd m c nhiên<br /> Diem(int);<br /> Diem(int,int);<br /> ...<br /> };<br /> Diem::Diem()<br /> { x=y=0; }<br /> Diem::Diem(int a)<br /> { x = y = a; }<br /> Diem::Diem(int h, int t)<br /> { x=h; y=t; }<br /> <br /> void main() {<br /> // Goi Diem()<br /> Diem a;<br /> // In (0,0)<br /> a. InDiem();<br /> // Diem(int,int)<br /> Diem b(10,5);<br /> // Diem(int)<br /> Diem c(3);<br /> Diem *pa = new Diem();<br /> Diem *pb = new Diem(10,5);<br /> Diem *pc = new Diem(3);<br /> // Goi Diem()<br /> Diem ds1[10];<br /> // Goi Diem()<br /> Diem *ds2 = new Diem [10];<br /> ...<br /> }<br /> 13<br /> <br /> 14<br /> <br /> Hàm xây d ng – Hàm h y<br /> <br /> Các lo i ñ i tư ng<br /> <br /> • Hàm h y (destructor)<br /> <br /> • ð i tư ng toàn c c - ð i tư ng c c b<br /> <br /> – Dùng ñ thu h i vùng nh ñã c p cho các d li u thành<br /> viên là con tr c a ñ i tư ng, khi h y b ñ i tư ng.<br /> => delete các con tr là d li u thành viên.<br /> – M t l p có th không có ho c ch có duy nh t 1 hàm h y.<br /> – Cú pháp : ~ ( ) { … }<br /> – Không ñư c g i tr c ti p mà s ñư c t ñ ng g i khi h y<br /> b ñ i tư ng.<br /> VD:<br /> <br /> – ð i tư ng toàn c c :<br /> • Khai báo ngoài các l p và ngoài hàm main().<br /> • S ñư c kh i t o (t ñ ng g i hàm xây d ng tương<br /> ng) trư c khi hàm main() th c thi.<br /> • S ñư c h y b ( t ñ ng g i hàm h y cho ñ i tư ng )<br /> sau khi k t thúc hàm main().<br /> – ð i tư ng c c b :<br /> • Khai báo trong m t hàm.<br /> <br /> Diem::~Diem () { }<br /> SinhVien::~SinhVien() {<br /> delete[] hoten;<br /> }<br /> <br /> • S kh i t o trong khi th c thi hàm ñó.<br /> 15<br /> <br /> • S ñư c h y b ( t ñ ng g i hàm h y cho ñ i tư ng<br /> ñó) trư c khi hàm k t thúc.<br /> 16<br /> <br /> D<br /> <br /> li u và hàm thành viên tĩnh<br /> <br /> D<br /> <br /> • D li u thành viên tĩnh (static)<br /> <br /> li u và hàm thành viên tĩnh<br /> <br /> • Hàm thành viên tĩnh (static)<br /> <br /> – Là d li u thành viên dùng chung cho t t c các ñ i tư ng<br /> c a cùng 1 l p => t n t i ñ c l p v i các ñ i tư ng.<br /> – Gi ng như 1 bi n toàn c c.<br /> <br /> – ð c l p v i các ñ i tư ng<br /> => khi g i hàm không c n ñ i tư ng nào :<br /> ::<br /> :: (danh sách tham s )<br /> <br /> – Ph i ñư c kh i t o bên ngoài c a l p.<br /> <br /> – Ch c n thêm static vào trư c khai báo hàm trong l p.<br /> <br /> – Thư ng ñư c s d ng ñ ñ m s lư ng ñ i tư ng hi n có.<br /> <br /> – Gi ng như 1 hàm toàn c c.<br /> <br /> T i th i ñi m này<br /> 17<br /> dem = ?<br /> <br /> Khai thác m t l p<br /> <br /> Khai thác m t l p<br /> • Tránh ñ nh nghĩa l p nhi u l n :<br /> <br /> • Khai báo l p : file .hpp<br /> • ð nh nghĩa hàm thành viên : file .cpp<br /> • S d ng l p : trong 1 file khác<br /> <br /> 18<br /> <br /> ð tránh #include nhi u<br /> <br /> vidu.cpp<br /> <br /> l n m t l p có trong<br /> nhi u t p tin khác nhau,<br /> <br /> Diem.hpp<br /> <br /> #include “Diem.hpp”<br /> class Diem {<br /> int x,y;<br /> ...<br /> };<br /> <br /> Diem.cpp<br /> <br /> Vidu.cpp<br /> #include “Diem.cpp”<br /> <br /> Diem::Diem()<br /> {… }<br /> void Diem::InDiem()<br /> {…}<br /> ...<br /> <br /> void main () {<br /> Diem a;<br /> a.InDiem();<br /> ….<br /> }<br /> <br /> ta dùng các t<br /> x<br /> <br /> khóa ti n<br /> <br /> lý.<br /> #ifndef<br /> #define<br /> #endif<br /> <br /> 19<br /> <br /> 20<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2