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

Chương 1: Giới thiệu về lập trình hướng đối tượng

Chia sẻ: Lê Minh Thông | Ngày: | Loại File: PDF | Số trang:3

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

Để hiểu oop là gì, trước hết chúng ta nhìn lại lịch sử của các kỹ thuật lập trình, đồng thời xem xét các nhược điểm của các kỹ thuật lập trình trước khi oop ra đời. Nhìn chung, có thể chia các kỹ thuật lập trình thành 3 loại, sự xuất hiện của các kỹ thuật lập trình này theo tứ tự : lập trình tuyến tính, lập trình có cấu trúc, lập trình hướng đối tượng.

Chủ đề:
Lưu

Nội dung Text: Chương 1: Giới thiệu về lập trình hướng đối tượng

  1. Chương 1: Gi i thi u v l p trình hư ng ñ i tư ng (object oriented programming - oop). 1.1. L p trình hư ng ñ i tư ng là gì? • ð hi u oop là gì, trư c h t chúng ta nhìn l i l ch s c a các k thu t l p trình, ñ ng th i xem xét các như c ñi m c a các k thu t l p trình trư c khi oop ra ñ i. • Nhìn chung, có th chia các k thu t l p trình thành 3 lo i, s xu t hi n c a các k thu t l p trình này theo th t như sau: o L p trình tuy n tính (l p trình không c u trúc) o L p trình có c u trúc (l p trình hư ng th t c). o L p trình hư ng ñ i tư ng (object oriented programming). • M i k thu t l p trình ñ u có như c ñi m c a nó, và ñ kh c ph c các như c ñi m ñó, ngư i ta ñã ñưa ra k thu t l p trình m i. 1.1.1. L p trình tuy n tính (l p trình không c u trúc) 1.1.1.1. ð c ñi m: • M i d li u trong chương chình ñ u là d li u toàn c c. • T t c các câu l nh ñ u n m trong chương trình chính và tác ñ ng tr c ti p vào d li u toàn c c c a chương trình. Program Global data - statement 1 - statement 2 -… 1.1.1.2. Như c ñi m: • N u cùng m t chu i các câu l nh ñư c s d ng nhi u l n, ph i copy chu i các câu l nh ñó ñ n nhi u v trí khác nhau. • Vì m i d li u ñ u là toàn c c, các d li u này có th b thay ñ i b t c ph n nào c a chương trình. Do ñó, khi chương trình ñ l n, vi c ki m soát s thay ñ i d li u là r t khó khăn. Biên so n: ð ng Thanh Dũng, khoa CNTT - ðH SPKT TP.HCM 1
  2. 1.1.2. L p trình có c u trúc (l p trình h ng th t c) 1.1.2.1. ð c ñi m: • Chương trình ñư c chia nh thành các chương trình con (các th t c, các hàm), m i chương trình con th c hi n m t nhi m v nào ñó. • Các th t c này ñ c l p nhau, có d li u riêng và logic riêng. • Thông tin chuy n giao gi a các th t c là các giá tr c a ñ i s . • Các th t c có bi n ñ a phương (bi n c c b ), không m t dòng l nh nào n m ngoài th t c có th thay ñ i giá tr c a các bi n này. • Chương trình chính bao g m m t t p các chương trình con. • Các ki u d li u ñư c dùng chung cho nhi u th t c khác nhau. • Ý tư ng cơ b n nh t c a l p trình co c u trúc ñó là s tr u tư ng hóa ch c năng (functional abstraction). 1.1.2.2. Ưu ñi m: • Vi c tri n khai ph n m m ñơn gi n hơn (có th nhi u ngư i cùng làm). • D b o trì và s a ch a hơn so v i l p trình tuy n tính. • Chương trình sáng s a hơn. 1.1.2.3. Như c ñi m: • Khi x y ra m t thay ñ i trên các ki u d li u thì c n ph i thay ñ i t t c các hàm (th t c) có làm vi c trên các ki u d li u ñó. ði u này ñòi h i nhi u th i gian ñ i v i nh ng chương trình c vài trăm hàm, th m chí vài nghìn hàm. • Trong môi trư ng làm vi c nhóm, vi c thay ñ i ki u d li u và hi u ch nh các hàm có th không ăn kh p nhau, d n ñ n nh ng sai sót trong chương trình. 1.1.3. L p trình h ng ñ i t ng (object oriented programming) 1.1.3.1. S tr u tư ng hoá d li u (data abstraction) • Các c u trúc d li u ñư c s d ng mà không c n ñ ý ñ n các chi ti t bên trong • Ví d : o Ki u s th c ch m ñ ng ñã ñư c tr u tư ng hóa trong t t c các ngôn ng l p trình. Khi s d ng các s th c, ta không c n quan tâm ñ n s bi u di n nh phân c th c a chúng. o Ki u ñi m (CPoint) trong MFC. 1.1.3.2. Các ñ c ñi m c a l p trình hư ng ñ i tư ng • L p trình hư ng ñ i tư ng ñư c xây d ng trên n n t ng c a l p trình có c u trúc và s tr u tư ng hoá d li u. • M t chương trình hư ng ñ i tư ng ñư c xây d ng xoay quanh các d li u mà ta làm vi c trên ñó, hơn là theo b n thân các ch c năng c a chương trình. • L p trình hư ng ñ i tư ng k t h p d li u v i các thao tác trên các d li u ñó ñ t o ra m t ki u d li u tr u tư ng, ñư c g i là l p. Biên so n: ð ng Thanh Dũng, khoa CNTT - ðH SPKT TP.HCM 2
  3. 1.1.3.3. Các ưu ñi m c a L p trình hư ng ñ i tư ng • D b o trì và s a ch a. • Có tính k th a cao. D s d ng l i các ño n code ñã vi t trư c ñó. • D m r ng các tính năng c a chương trình. 1.1.3.4. M t s thu t ng c a l p trình hư ng ñ i tư ng 1.1.3.4.1. L p (class) • L p là m t mô t v ki u d li u tr u tư ng, nó ch a các thông tin v c u trúc d li u và các thao tác c a ki u d li u tr u tư ng ñó. • Các ki u d li u ñư c cài s n trong các ngôn ng l p trình có th ñư c xem là các l p. 1.1.3.4.2. ð i tư ng (object) • M t ñ i tư ng là m t th hi n c a m t l p. Khi m t ph n t d li u ñư c khai báo là ph n t c a m t l p thì nó ñư c g i là m t ñ i tư ng. Các ñ i tư ng còn ñư c g i là các bi n th hi n (instance variables). • M i ñ i tư ng có riêng cho mình m t t p giá tr c a các thành ph n d li u c a m t l p. • Các ñ i tư ng ñ c l p v i nhau, nh ng thay ñ i trên ñ i tư ng này không nh hư ng ñ n ñ i tư ng khác. Vi c g i thông ñi p cho ñ i tư ng này cũng không nh hư ng gì ñ n ñ i tư ng khác. 1.1.3.4.3. Phương th c (method) • Các hàm (các thao tác) c a m t l p ñư c g i là các phương th c c a m t l p. • Ch có các phương th c c a m t l p m i có th x lý ñư c t t c các d li u c a các ñ i tư ng c a l p ñó. 1.1.3.4.4. Thông ñi p (message) • Các phương th c c a m t l p có th ñư c g i thông qua các ñ i tư ng c a l p ñó. ði u này ñư c g i là g i m t thông ñi p cho ñ i tư ng. • Các thông ñi p này ph thu c vào ñ i tư ng, ch ñ i tư ng nào nh n ñư c thông ñi p m i ph i làm vi c theo thông ñi p ñó. 1.1.3.4.5. L p d n xu t (derived class) và l p cơ s (base class) • ð xây d ng môt l p m i, ngư i ta có th dùng các l p có s n làm n n t ng b ng cách k th a t các l p có s n. Khi ñó l p m i ñư c g i là l p con hay l p d n xu t. • L p cũ làm n n t ng ñ xây d ng l p m i ñư c g i là l p cha hay l p cơ s . Biên so n: ð ng Thanh Dũng, khoa CNTT - ðH SPKT TP.HCM 3
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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