Lập trình hướng đối tượng C/C++ - OOP 02 basic concepts of object

22 538 5
Lập trình hướng đối tượng C/C++ - OOP 02 basic concepts of object

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lập trình hướng đối tượng C/C++ - OOP 02 basic concepts of object

Khái ni m b n v đ i tư ng GV Nguy n Minh Huy Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy N i dung Đ i tư ng l p p S d ng đ i tư ng C++ T m v c c Bài t p p Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy N i dung Đ i tư ng l p p S d ng đ i tư ng C++ T m v c c Bài t p p Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy Đ i tư ng l p Đ i tư ng gì? gì? Chương trình “c máy” ph c t p máy” p C u thành t nhi u lo i “chi ti t” t” Chi ti t b n: hàm, c u trúc n: hàm, trúc Đã đ t o chương trình t t? t? Chi ti t m i: Đ i tư ng!! Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy Đ i tư ng l p Đ c trưng c a đ i tư ng: ng: Bao g m c d li u x lý lý Thu c tính (attribute): d li u c a đ i tư ng ng Phương th c (method): x lý c a đ i tư ng ng Nhóm t o h y y Nhóm truy xu t thơng tin Nhóm x lý nghi p v Nhóm tốn t Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy Đ i tư ng l p L p trình hư ng đ i tư ng có khác bi t? t? Hư ng th t c (procedural oriented): L y hành đ ng làm trung tâm tâm Hàm xương s ng ng - L t (Rau) - Lu c (Rau) - N u (Cơm) Cơm) L y d li u làm trung tâm tâm Đ i tư ng xương s ng ng - Cá.Ư p - Cá.Kho Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy Verb Object L t Rau Ư p Cá N u - Ư p (Cá) Cá) - Kho (Cá) Cá) Hư ng đ i tư ng (object oriented): - Rau.L t - Rau.Lu c - Cơm.N u Các bư c n u ăn Cơm Kho Cá Lu c Rau Thay đ i tư l p trình!! Đ i tư ng l p Khái ni m l p: p: Person1: Name: Peter Age: 25 Hair Color: Brown Eye Color: Brown Job: Worker Person2: Name: Thomas Age: 50 Hair Color: White Eye Color: Blue Job: Teacher Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy T p h p đ i tư ng có thu c tính phương th c Human: Name Age Hair Color Eye Color Job B n mô t đ i tư ng Ki u c a đ i tư ng N i dung Đ i tư ng l p p S d ng đ i tư ng C++ T m v c c Bài t p p Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy S d ng đ i tư ng C++ Cách s d ng đ i tư ng: ng: Tương t bi n c u trúc trúc Các bư c s d ng: ng: Khai báo l p (file h): t o ki u cho đ i tư ng ng class p> { ; tính>; ; c>; }; Cài đ t l p (file cpp): cài đ t phương th c cho đ i tư ng .cpp): ng Tương t cài đ t hàm, kèm tên l p toán t :: hàm, S d ng đ i tư ng t l p: p: Khai báo đ i tư ng: bi n có ki u l p ng: p Truy xu t thành ph n đ i tư ng: dùng d u “.” ho c “->” ng: Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy S d ng đ i tư ng C++ Ví d : so sánh đ i tư ng c u trúc trúc // Khai báo l p, file PhanSo.h p, class PhanSo { private: int m_tuSo; m_tuSo; int m_mauSo; m_mauSo; public: PhanSo cong(PhanSo p); cong(PhanSo }; // Cài đ t l p, file PhanSo.cpp p, PhanSo PhanSo::cong(PhanSo p) PhanSo::cong(PhanSo { // Cài đ t c ng phân s } Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy // Khai báo ki u c u trúc, file PhanSo.h trúc, struct PhanSo { int m_tuSo; m_tuSo; int m_mauSo; m_mauSo; }; // Cài đ t hàm c ng, file PhanSo.cpp ng, PhanSo cong(PhanSo p1, PhanSo p2) cong(PhanSo { // Cài đ t c ng phân s } 10 S d ng đ i tư ng C++ Ví d : so sánh đ i tư ng c u trúc trúc // S d ng đ i tư ng, file main.cpp ng, void main() { PhanSo p1; PhanSo p2; p1.cong(p2); // S d ng c u trúc, file main.cpp trúc, void main() main() { PhanSo p1; PhanSo p2; cong(p1, p2); PhanSo *p3 = new PhanSo; PhanSo; p3->cong(p1); p3- PhanSo *p3 = new PhanSo; PhanSo; cong(*p3, p1); PhanSo *p4 = new PhanSo[2]; PhanSo[2]; p[0]p[0]->cong(p[1]); PhanSo *p4 = new PhanSo[2]; PhanSo[2]; cong(p[0], p[1]); } Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy } 11 N i dung Đ i tư ng l p p S d ng đ i tư ng C++ T m v c c Bài t p p Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 12 T mv c Khái ni m t m v c: c: T m nh hư ng, ph m vi ho t đ ng: ng, ng: Bi n block khai báo báo Hàm không h n ch Thành ph n c a l p có th u ch nh nh T m nh hư ng h p, truy xu t h n ch p, B ng phân lo i t m v c: c: T mv c T m nh hư ng Ph m vi ho t đ ng private H p Bên l p public R ng Bên l n bên l p protected V a Bên l p l p k th a a Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 13 T mv c Dr Guru khuyên: khuyên: Quy t c h p đen: đen: Thu c tính có t m v c private đ h n ch truy xu t t Phương th c có t m v c public đ cung c p tính năng class PhanSo { private: int m_tuSo; m_tuSo; int m_mauSo; m_mauSo; public: PhanSo cong(PhanSo p); cong(PhanSo PhanSo rutGon(); rutGon(); }; D li u (Thu c tính) Tính (Phương th c) Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 14 T mv c Toán t :: (b n ch m): (b m): L p 5A 5B đ u có h c sinh tên Lê Phương Phương Làm đ phân bi t? t? Trư ng h p 1: đ ng l p p Trư ng h p 2: đ ng l p p L p 5A Toán t :: Dùng g i tên thành ph n c a l p t bên ngoài :: p>:: Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy L p 5B 15 T mv c Ví d : class PhanSo { private: int m_iTuSo; m_iTuSo; int m_iMauSo; m_iMauSo; public: PhanSo cong(PhanSo p) cong( { // Cài đ t bên l p p } }; Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy PhanSo PhanSo::cong(PhanSo p) PhanSo::cong( { // Cài đ t bên ngồi l p p } 16 Tóm t t Đ i tư ng l p: p: Đ i tư ng m t thành t t o nên chương trình trình Đ i tư ng ch a d li u l n x lý lý L p b n mô t c a đ i tư ng ng S d ng đ i tư ng: ng: Khai báo l p b ng t khóa “class” Gi ng s d ng c u trúc trúc T m v c: c: T m nh hư ng, ph m vi ho t đ ng ng, ng Có m c: public, private, protected c: Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 17 Bài t p Bài t p 2.1: Xây d ng l p phân s cho phép th c hi n thao tác: tác: Nh p, xu t p, t L yt s ,m us Gán giá tr cho t s , m u s Ngh ch đ o, rút g n o, n C ng, tr , nhân, chia, so sánh v i phân s khác ng, nhân, chia, khác Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 18 Bài t p Bài t p 2.2: D a l p phân s xây d ng t p 2.1, vi t chương trình s p x p tăng/gi m m ng phân s tăng/ Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 19 Bài t p Bài t p 2.3: Xây d ng l p đơn th c cho phép th c hi n thao tác: tác: Nh p, xu t p, t L y h s , s mũ mũ Gán giá tr cho h s , s mũ mũ Tính giá tr , đ o hàm, nguyên hàm hàm, hàm C ng, tr , nhân, chia, so sánh v i đơn th c khác b c ng, nhân, chia, c Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 20 Bài t p Bài t p 2.4: Thông tin m t h c sinh bao g m: m: H tên tên Đi m văn, toán văn, toán Xây d ng l p h c sinh cho phép th c hi n thao tác: tác: Nh p, xu t p, t L y h tên, m văn, toán tên, văn, toán Gán giá tr cho h tên, m văn, m toán tên, văn, toán Tính m trung bình bình X p lo i theo tiêu chí: chí: Gi i (>= 8.0), Khá (>= 7.0) Trung bình (>= 5.0), Y u (< 5) Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 21 Bài t p Bài t p 2.5: Xây d ng l p m ng s nguyên cho phép th c hi n thao tác sau: sau: Nh p, xu t m ng p, ng L y kích thư c m ng ng L y ph n t t i v trí đó Gán giá tr cho ph n t t i v trí đó Tìm ph n t m ng ng S p x p tăng, gi m tăng, m Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 22 ... (Rau) - Lu c (Rau) - N u (Cơm) Cơm) L y d li u làm trung tâm tâm Đ i tư ng xương s ng ng - Cá.Ư p - Cá.Kho Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy Verb Object L t Rau Ư p Cá N u -. .. Rau Ư p Cá N u - Ư p (Cá) Cá) - Kho (Cá) Cá) Hư ng đ i tư ng (object oriented): - Rau.L t - Rau.Lu c - Cơm.N u Các bư c n u ăn Cơm Kho Cá Lu c Rau Thay đ i tư l p trình! ! Đ i tư ng l p Khái ni... trình hư ng đ i tư ng - Nguy n Minh Huy 18 Bài t p Bài t p 2.2: D a l p phân s xây d ng t p 2.1, vi t chương trình s p x p tăng/gi m m ng phân s tăng/ Phương pháp l p trình hư ng đ i tư ng -

Ngày đăng: 12/01/2014, 16:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan