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

Lập trình hướng đối tượng 2

Chia sẻ: 4 4 | Ngày: | Loại File: PDF | Số trang:100

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

Tham khảo sách 'lập trình hướng đối tượng 2', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Lập trình hướng đối tượng 2

  1. N i dung Chương 1 • L p trình thông thư ng. • L p trình hư ng ñ i tư ng. L P TRÌNH HƯ NG ð I TƯ NG • Unified Modeling Language - UML. lttlan.tdu@gmail.com 9/30/2009 http://lttlan-tdu.blogspot.com1 2 L p trình thông thư ng L p trình thông thư ng (tt) tt) • L p trình tuy n tính • L p trình c u trúc – Tư duy theo l i tu n t , ñơn gi n. C u trúc d li u + Gi i thu t = Chương trình Chương – ðơn lu ng và các công vi c ñư c th c hi n tu n t trong lu ng ñó. – C u trúc d li u: cách t ch c d li u, mô t bài – T n t i trong modul nh c a phương pháp l p toán dư i d ng ngôn ng l p trình. trình khác. – Gi i thu t: m t quy trình ñ th c hi n m t công – Không gi i quy t ñư c các yêu c u ph c t p. vi c xác ñ nh. 3 4
  2. L p trình thông thư ng (tt) tt) L p trình hư ng ñ i tư ng • L p trình c u trúc (tt) • M t s khái ni m cơ b n • L p trình hư ng ñ i tư ng – Phân chia chương trình chính thành các chương trình con cho phù h p v i yêu c u, ch c năng và Object Oriented Programming – OOP m c ñích c a m i bài toán • Các ñ c ñi m c a OOP – Gi i thu t luôn ph thu c ch t ch vào c u trúc d li u 5 6 M t s khái ni m cơ b n M t s khái ni m cơ b n (tt) tt) • ð i tư ng (Object) • ð i tư ng trong th gi i th c – Trong th gi i th c: • ñ i tư ng là m t th c th (entity) c th mà thông Tr ng thái: thư ng ta có th s , nhìn th y hay c m nh n ñư c. • màu – Trong l p trình: • hãng s n xu t • Dùng ñ mô t 1 ngư i, s v t hay khái ni m. • model • giá Hành ñ ng: • ð i tư ng là cái mà ng d ng mu n ñ c p ñ n. xe hơi •… • D ng • Trong h th ng hư ng ñ i tư ng, m i th ñ u là ñ i tư ng. • Ch y • Tăng t c •Th ng •… 7 8
  3. M t s khái ni m cơ b n (tt) tt) M t s khái ni m cơ b n (tt) tt) • ð i tư ng trong th gi i th c (tt) • ð i tư ng trong l p trình – M i ñ i tư ng ñ u có tr ng thái (state) và hành – Thu c tính, ñ c tính, d li u (attribute, ñ ng (behavior) property, data): • Trình bày, mô t các ñ c ñi m c a ñ i tư ng. – Phương th c, ng x , hàm (method, behavior, function): • Liên quan ñ n nh ng th ñ i tư ng làm. • Tác ñ ng lên d li u c a ñ i tư ng. 9 10 M t s khái ni m cơ b n (tt) tt) Thu c tính: •tiêu ñ •n i dung •kích thư c •màu… Phương th c: •v •di chuy n •ñ i kích thư c •ñóng, … 11 12
  4. M t s khái ni m cơ b n (tt) tt) M t s khái ni m cơ b n (tt) tt) • Th hi n (instance) Thu c tính: – Thu c tính ñư c xác ñ nh giá tr c th . •Màu lá – ð i tư ng c th g i là m t th hi n. •Màu thân •Chi u cao •T a ñ Phương th c: •v ð i tư ng (object) là m t th c th ð i tư ng Xe ñ p ph n m m bao b c các thu c tính (là 1 th hi n) n) 13 14 b i các phương th c liên quan. M t s khái ni m cơ b n (tt) tt) M t s khái ni m cơ b n (tt) tt) • L p (class) • L p (class) – Là m u (prototype) c a các ñ i tư ng cùng – L p t o ra ñ i tư ng: b ng cách gán giá tr c ki u. th cho các thu c tính. – Là khuôn ñ ñ ra các ñ i tư ng. • L p ñư c t o ra khi biên d ch – ð nh nghĩa các thu c tính và phương th c • ð i tư ng t o ra khi th c thi chương trình. chung cho các ñ i tư ng có cùng lo i. VD: L p XeDap là thi t k chung cho các ñ i tư ng xe mini, xe ñòn, xe ñ m, xe ñua, xe leo ð i tư ng là m t th hi n (instance) c a 1 l p núi, … 15 16
  5. M t s khái ni m cơ b n (tt) NhanVien • Truy n thông báo – Mã nhân viên – Thông báo (message): là 1 l i yêu c u 1 ho t – H và tên ñ ng. – Năm sinh – Ngh nghi p – Thông báo bao g m: • ð i tư ng nh n thông ñi p. – ð a ch • Ho t ñ ng (tên c a phương th c th c hi n). – H s lương • Chi ti t th c hi n (giá tr các tham s ). – Ch c v + Làm vi c () Ông NVA Bà TTB Ông LVC – Truy n thông báo: kích ho t hàm cùng tên + Ngh phép () trên 1 ñ i tư ng ñ yêu c u thông tin. + Lãnh lương () 17 18 L p trình hư ng ñ i tư ng NhanVien NhanVien • M t s khái ni m cơ b n – Mã nhân viên – 8494 – H và tên – NVA L p trình hư ng ñ i tư ng – Năm sinh – 1970 (Object Oriented Programming – OOP) – Ngh nghi p – Ths Tin h c • Các ñ c ñi m c a OOP – ð a ch – ðH Tây ðô – H s lương – 3.04 – Ch c v – Gi ng viên + Làm vi c () Ông NVA + Ngh phép () NVA.ngh phép + Lãnh lương () (22/9/2009) 19 20
  6. L p trình hư ng ñ i tư ng (OOP) L p trình hư ng ñ i tư ng (tt) tt) D li u và th t c ñư c Thu c tính + Hàm = Đ i tư ng tư D li u x lý ch c ch v i nhau. Các th hi n, đ c tính, Các ho t đ ng, tr ng thái c a đ i thao tác c a đ i Quan tâm ñ n m i liên tư ng tư ng M c tiêu chính Hàm h gi a th t c và d ð i tư ng 1 li u. Phân tích bài toán thành nhi u ñ i tư ng. D li u D ch nh s a, thêm m i Quan tâm ñ n d li u hơn th t c. D li u d li u và hàm trong 1 D li u ñư c b o v (che gi u) và không th truy Hàm ñ i tư ng. Hàm xu t t bên ngoài ñ i tư ng. ð i tư ng 2 M c tiêu là tăng cư ng ð i tư ng 3 kh năng s d ng l i. 21 22 L p trình hư ng ñ i tư ng (tt) tt) L p trình hư ng ñ i tư ng (tt) tt) • S tr u tư ng hóa (abstraction) • S tr u tư ng hóa (abstraction) – Là bư c ti n hóa ti p theo t l p trình c u trúc. – Ch quan tâm ñ n nh ng ñ c ñi m c n thi t (ph t l ñi nh ng chi ti t) tùy vào ng c nh: VD: Phân tích thông tin c a 1 ngư i: - Trong ng c nh làm vi c trong trư ng. - Trong ng c nh h c t i trư ng? NhanVien – Mã nhân viên – H và tên – Năm sinh 23 –… 24
  7. OOP Các ñ c ñi m c a OOP • Tính bao gói • Tính th a k • o hóa • ða hình 25 26 Tính bao gói • Là ñ c ñi m ch y u c a OOP. • Che gi u vi c th c thi chi ti t c a 1 ñ i tư ng. • Ngăn s tác ñ ng t ñ i tư ng khác ñ n d li u. n thông tin là 1 tính ch t c a bao gói 27 28
  8. Tính bao gói (tt) tt) Tính bao gói (tt) tt) – Các thu c tính truy c p: – Th hi n s k t h p ch c ch gi a thu c tính và phương th c. – Dùng chung (public): có quy n ñư c truy xu t t b t kỳ v trí nào. – ð nh nghĩa l p: là vi c ñóng gói nhi u thành – Dùng riêng (private): ch truy xu t ñư c t bên ph n l i v i nhau. trong l p (trong các phương th c c a l p ñó). – Xác ñ nh và gi i h n các ñư ng truy c p ñ n – ðư c b o v (protected): ch truy xu t ñư c t l p. bên trong l p và các l p th a k t nó. 29 30 Các ñ c ñi m c a OOP Các ñ c ñi m c a OOP • Tính th a k (inheritance) • Tính th a k (tt) – Nhóm các ñ c tính chung l i v i nhau. – Chú ý: tránh thi t k sai v m t ý nghĩa. – S d ng l i (k th a) các ñ c trưng chung VD: L p XeHơi th a k t l p BánhXe là SAI. (thu c tính + phương th c) c a 1 l p cho trư c. – L p con ph i chính là l p cha, ngoài ra còn – Ích l i: ph i có thêm nh ng ñ c trưng riêng c a nó: • Chia s và s d ng l i nh ng l p ñã có: • Thêm hàm ho c thêm thu c tính – T n d ng l i các thu c tính chung. • Tái ñ nh nghĩa hàm c a l p cha, ñ i ki u thu c tính – T n d ng l i các thao tác tương t . • Dùng hàm o • Thi t k l p g n nh , ñơn gi n hơn. 31 32
  9. Con ngư i Các ñ c ñi m c a OOP – Tên • Tính th a k (tt) – Gi i tính – L p con s có t t c các thành ph n c a l p cha nhưng ch ñư c quy n truy xu t thành ph n mà l p cha cho phép (public + protected). Sinh viên Nhân viên – L p cha không th truy xu t ñư c thành ph n c a l p con. – L ph c – Ngh nghi p – ði m thi Toán – H s lương + Tính ñi m TB() + Ngh phép() 33 34 Các ñ c ñi m c a OOP Các ñ c ñi m c a OOP • Tính th a k (tt) • Tính th a k – Các thành ph n c a l p con s che ñi các – Th a k ñơn: th a k t 1 l p thành ph n trùng tên trong l p cha. – Th a k b i: th a k t 2 l p tr lên. • Khi truy xu t thành ph n trùng tên ñó s truy xu t • T n d ng ñư c nhi u thành ph n có s n. thành ph n c a l p con. • D gây ra xung ñ t, c nh tranh. • Mu n truy xu t thành ph n c a l p cha, ph i ch rõ. – Trong C++: :: – Trong Java: super. . 35 36
  10. Các ñ c ñi m c a OOP Các ñ c ñi m c a OOP • Tính th a k (tt) • o hóa (virtualization) – Th a k b i – K tên trong l p cha m t ng x chung (hàm o – virtual, abstract) cho t p h p các l p con. – Khi nh n yêu c u, tùy vào ñ i tư ng thu c l p nào s có ng x riêng (th c thi hàm tương ng c a l p ñó). 37 38 Các ñ c ñi m c a OOP Các ñ c ñi m c a OOP • o hóa • o hóa Vd: – Hàm o: 1. “V ”: cho t p h p các ñ i tư ng hình h c (ñi m, • Không nh t thi t ph i c n ñ nh nghĩa l p cha. ñư ng th ng, hình tròn, hình vuông, …) • Ph i ñư c ñ nh nghĩa l i trong l p con. 2. “Kêu”: cho t p h p các con v t (chó, mèo, gà, – L p o: v t, …) • Ch dùng khai báo các hàm o bên trong. 3. “V nhà”: cho t p h p các h c sinh (ñi b , ñi xe • Không ñư c dùng ñ t o ra ñ i tư ng. ñ p, ñi xe g n máy, ñi xe buýt, …) 39 40
  11. Các ñ c ñi m c a OOP Các ñ c ñi m c a OOP • Tính ña hình (polymorphism) • Tính ña hình – Các ñ i tư ng khác nhau khi nh n chung 1 yêu – Các hành ñ ng cùng tên th c thi trên cùng 1 ñ i c u v n có th có nh ng ng x khác nhau. tư ng v n có th th c hi n khác nhau (có k t – K thu t s d ng: hàm o qu khác nhau) tùy thu c vào ng c nh. ði m ðư ng Th ng Hình Tròn Hình Vuông – K thu t s d ng: tái ñ nh nghĩa hàm • Hàm trùng tên • Khác tham s (s lư ng, th t , ki u) “V ” 41 42 UML - Unified Modeling Language 43 44
  12. UML Gi i thi u UML – T m d ch là ngôn ng mô hình hóa th ng nh t. • Gi i thi u v UML – Ra ñ i vào năm 1997 và hi n nay ñang ñư c s d ng r t ph bi n. • Các lo i bi u ñ trong UML – Bao g m m t h th ng các ký hi u ñ h a, bi u ñ (sơ ñ ) th ng nh t dùng ñ thi t k các h th ng thông tin • Bi u ñ l p (IS) theo hư ng ñ i tư ng. – ðư c s d ng cho các giai ño n phân tích, thi t k , tri n khai và ki m th ph n m m. – Các CaseTool (Rational Rose, System Architect, Argo UML, Visual Paradigm for UML, Umbrello…) h tr UML trong vi c phát sinh chương trình t ñ ng cho các ngôn ng OOP. 45 46 Các lo i bi u ñ trong UML Sơ ñ l p (Class Diagram) • UML Diagram • L p – Use Cases Diagram (bi u ñ tình hu ng s d ng) – Class Diagram (bi u ñ l p) – Sequence Diagram (bi u ñ trình t ) – Collaboration Diagram (bi u ñ c ng tác) – State Diagram (bi u ñ tr ng thái) – Component Diagram (bi u ñ thành ph n) – Deployment Diagram (bi u ñ tri n khai) 47 48
  13. Sơ ñ l p (Class Diagram) Sơ ñ l p (Class Diagram) • Quan h k t h p (Association) • Quan h k t h p (Association) 49 50 Sơ ñ l p (Class Diagram) Sơ ñ l p (Class Diagram) • Quan h k t h p • Quan h t p h p (Aggregation) 51 52
  14. Sơ ñ l p (Class Diagram) Sơ ñ l p (Class Diagram) • Quan h t ng h p (Composition) • Th a k (inheritance) Composition là 1 d ng Aggregation ñ c bi t trong ñó cái t ng th s ñư c c u thành ho c h y b t nh ng thành ph n c a nó. nó. 53 54 Bài t p Bài t p v nhà • Mô hình hóa vi c bán vé t i r p chi u phim theo • Ch n các ñ i tư ng ngoài th c t có liên góc nhìn c a ngư i mua vé / ngư i qu n lý quan v i nhau ñ xây d ng khung (thu c • Ti m t p hóa: Ch ti m c n qu n lý vi c mua tính, phương th c) các ñ i tư ng v i ñ y ñ bán hàng hóa (vi t, t p) trong c a hàng ñ bi t các ñ c ñi m: – Tính th a k . – Hàng nào mua vào giá bao nhiêu? – o hóa. – Hàng nào bán ra và giá bao nhiêu? – ða hình. Áp d ng k thu t l p trình hư ng ñ i tư ng và tính • Cho 3 ví d c th cho t ng ñ i tư ng th a k c a nó ñ d ng khung ñ i tư ng cho ngư i ph trách mua bán ñi n thông tin vào và s d ng • H n n p: 12:00 PM 06/10/2009 (mail ho c phương th c cho vi c mua bán 55 gi y) 56
  15. Bài n p • Mail: – Subject: C++ Bai 1 – – File word ho c pdf • Gi y – C++ Bai 1 – 57
  16. N i dung Chương 1 • L p trình thông thư ng. • L p trình hư ng ñ i tư ng. L P TRÌNH HƯ NG ð I TƯ NG • Unified Modeling Language - UML. lttlan.tdu@gmail.com 9/30/2009 http://lttlan-tdu.blogspot.com1 2 L p trình thông thư ng L p trình thông thư ng (tt) tt) • L p trình tuy n tính • L p trình c u trúc – Tư duy theo l i tu n t , ñơn gi n. C u trúc d li u + Gi i thu t = Chương trình Chương – ðơn lu ng và các công vi c ñư c th c hi n tu n t trong lu ng ñó. – C u trúc d li u: cách t ch c d li u, mô t bài – T n t i trong modul nh c a phương pháp l p toán dư i d ng ngôn ng l p trình. trình khác. – Gi i thu t: m t quy trình ñ th c hi n m t công – Không gi i quy t ñư c các yêu c u ph c t p. vi c xác ñ nh. 3 4
  17. L p trình thông thư ng (tt) tt) L p trình hư ng ñ i tư ng • L p trình c u trúc (tt) • M t s khái ni m cơ b n • L p trình hư ng ñ i tư ng – Phân chia chương trình chính thành các chương trình con cho phù h p v i yêu c u, ch c năng và Object Oriented Programming – OOP m c ñích c a m i bài toán • Các ñ c ñi m c a OOP – Gi i thu t luôn ph thu c ch t ch vào c u trúc d li u 5 6 M t s khái ni m cơ b n M t s khái ni m cơ b n (tt) tt) • ð i tư ng (Object) • ð i tư ng trong th gi i th c – Trong th gi i th c: • ñ i tư ng là m t th c th (entity) c th mà thông Tr ng thái: thư ng ta có th s , nhìn th y hay c m nh n ñư c. • màu – Trong l p trình: • hãng s n xu t • Dùng ñ mô t 1 ngư i, s v t hay khái ni m. • model • giá Hành ñ ng: • ð i tư ng là cái mà ng d ng mu n ñ c p ñ n. xe hơi •… • D ng • Trong h th ng hư ng ñ i tư ng, m i th ñ u là ñ i tư ng. • Ch y • Tăng t c •Th ng •… 7 8
  18. M t s khái ni m cơ b n (tt) tt) M t s khái ni m cơ b n (tt) tt) • ð i tư ng trong th gi i th c (tt) • ð i tư ng trong l p trình – M i ñ i tư ng ñ u có tr ng thái (state) và hành – Thu c tính, ñ c tính, d li u (attribute, ñ ng (behavior) property, data): • Trình bày, mô t các ñ c ñi m c a ñ i tư ng. – Phương th c, ng x , hàm (method, behavior, function): • Liên quan ñ n nh ng th ñ i tư ng làm. • Tác ñ ng lên d li u c a ñ i tư ng. 9 10 M t s khái ni m cơ b n (tt) tt) Thu c tính: •tiêu ñ •n i dung •kích thư c •màu… Phương th c: •v •di chuy n •ñ i kích thư c •ñóng, … 11 12
  19. M t s khái ni m cơ b n (tt) tt) M t s khái ni m cơ b n (tt) tt) • Th hi n (instance) Thu c tính: – Thu c tính ñư c xác ñ nh giá tr c th . •Màu lá – ð i tư ng c th g i là m t th hi n. •Màu thân •Chi u cao •T a ñ Phương th c: •v ð i tư ng (object) là m t th c th ð i tư ng Xe ñ p ph n m m bao b c các thu c tính (là 1 th hi n) n) 13 14 b i các phương th c liên quan. M t s khái ni m cơ b n (tt) tt) M t s khái ni m cơ b n (tt) tt) • L p (class) • L p (class) – Là m u (prototype) c a các ñ i tư ng cùng – L p t o ra ñ i tư ng: b ng cách gán giá tr c ki u. th cho các thu c tính. – Là khuôn ñ ñ ra các ñ i tư ng. • L p ñư c t o ra khi biên d ch – ð nh nghĩa các thu c tính và phương th c • ð i tư ng t o ra khi th c thi chương trình. chung cho các ñ i tư ng có cùng lo i. VD: L p XeDap là thi t k chung cho các ñ i tư ng xe mini, xe ñòn, xe ñ m, xe ñua, xe leo ð i tư ng là m t th hi n (instance) c a 1 l p núi, … 15 16
  20. M t s khái ni m cơ b n (tt) NhanVien • Truy n thông báo – Mã nhân viên – Thông báo (message): là 1 l i yêu c u 1 ho t – H và tên ñ ng. – Năm sinh – Ngh nghi p – Thông báo bao g m: • ð i tư ng nh n thông ñi p. – ð a ch • Ho t ñ ng (tên c a phương th c th c hi n). – H s lương • Chi ti t th c hi n (giá tr các tham s ). – Ch c v + Làm vi c () Ông NVA Bà TTB Ông LVC – Truy n thông báo: kích ho t hàm cùng tên + Ngh phép () trên 1 ñ i tư ng ñ yêu c u thông tin. + Lãnh lương () 17 18 L p trình hư ng ñ i tư ng NhanVien NhanVien • M t s khái ni m cơ b n – Mã nhân viên – 8494 – H và tên – NVA L p trình hư ng ñ i tư ng – Năm sinh – 1970 (Object Oriented Programming – OOP) – Ngh nghi p – Ths Tin h c • Các ñ c ñi m c a OOP – ð a ch – ðH Tây ðô – H s lương – 3.04 – Ch c v – Gi ng viên + Làm vi c () Ông NVA + Ngh phép () NVA.ngh phép + Lãnh lương () (22/9/2009) 19 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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