Khái quát v OOP - Object Oriented Programming
I-OOP – NGÔN NG L P TRÌNH H NG Đ I T NG. ƯỚ ƯỢ
+OOP - Object Oriented Programming là m t ph ng pháp m i đ gi i quy t ươ ế
v n đ v i máy vi tính.V i OOP ,thay vì n l c đ a v n đ vào trong khuôn ư
kh quen thu c v i máy vi tính,các l p trình viên s d ng ph ng pháp h ng ươ ướ
đ i t ng nh m tìm ki m m t gi i pháp toàn v n cho m t v n đ .(Chúng ta s ượ ế
đ c hi u k h n v tính h ng đ i t ng các ví d trong ph n sau.)ượ ơ ướ ượ
+ Nh ng ngôn ng OOP bao g m cú pháp và m t trình biên d ch (compiler) thêm
n a là có m t môi tr ng phát tri n toàn di n. Môi tr ng này bao g m m t th ườ ườ ư
vi n đ c thi t k t t, thu n l i cho vi c s d ng các đ i t ng. ư ế ế ượ
Chúng ta hãy xem m t ví d sau.Gi s Ben ph trách qu n lý vi c bán hàng cho
m t công ty máy vi tính nào đó và đ d dàng h n cho vi c qu n lý Ben đã tri n ơ
khai công vi c thành m t h th ng trên máy vi tính.V y,v n đ vi tính hoá vi c
mua bán máy tính bao g m nh ng gì ?
+Nh ng y u t rõ ràng nh t liên quan đ n vi c mua bán máy tính là: ế ế
1) Các lo i máy tính(model).
2) Nhân viên bán hàng.
3) Khách hàng.
+Nh ng ho t đ ng liên quan đ n vi c mua bán máy tính là: ế
1) Nhân viên bán hàng đ a khách hàng tham quan phòng tr ng bày.ư ư
2) Khách hàng ch n l a m t lo i máy tính nào đó.
3) Khách hàng đ t hóa đ n. ơ
4) Khách hàng tr ti n.
5) Máy tính đ c trao cho khách hàng.ượ
*M i v n đ đ c chia ra thành nhi u y u t -> đ c g i là các Đ i t ng ượ ế ượ ượ
(Objects) ho c các Th c th (Entities). Ch ng h n nh ví d trên, khách hàng, ư
máy tính và nhân viên bán hàng là nh ng đ i t ng ho c th c th . ượ
*L p trình viên luôn luôn c g ng t o ra nh ng k ch b n (scenarios) th t quen
thu c v i nh ng tình hu ng đ i s ng th c. B c th nh t trong đ ng h ng ướ ườ ướ
này là làm cho máy tính liên k t v i nh ng đ i t ng th gi i th c.ế ượ ế
*Tuy nhiên, máy tính ch là m t c máy. Nó ch th c hi n nh ng công vi c đ c ượ
l p trình mà thôi. Vì th , trách nhi m c a l p trình viên là cung c p cho máy tính ế
nh ng thông tin theo cách th c mà nó cũng nh n th c đ c cùng nh ng th c th ượ
nh chúng ta nh n th c.ư
==>Đó chính là lãnh v c c a k thu t h ng đ i t ng. Chúng ta s d ng k ướ ượ
thu t h ng đ i t ng đ ánh x nh ng th c th chúng ta g p ph i trong đ i ướ ượ
s ng th c
II- M T S KHÁI NI M TRONG OOP
1-S TR U T NG HOÁ D LI U ƯỢ
* Khi m t l p trình viên ph i phát tri n m t ch ng trình ng d ng thì không có ươ
nghĩa là ng i y l p t c vi t mã cho ng d ng y. Tr c h t, ng i y ph iườ ế ướ ế ườ
nghiên c u ng d ng và xác đ nh nh ng thành ph n t o nên ng d ng. K ti p, ế ế
ng i y ph i xác đ nh nh ng thông tin c n thi t v m i thành ph n.ườ ế
Hãy kh o sát ch ng trình ng d ng cho vi c mua bán máy tính bài I. Ch ng ươ ươ
trình ph i xu t hóa đ n cho nh ng máy tính đã bán cho khách hàng. Đ xu t m t ơ
hóa đ n, chúng ta c n nh ng thông tin chi ti t v khách hàng. V y b c thơ ế ướ
nh t là xác đ nh nh ng đ c tính c a khách hàng.
M t vài đ c tính g n k t v i khách hàng là: ế
+ Tên.
+ Đ a ch .
+ Tu i.
+ Chi u cao.
+ Màu tóc.
T danh sách k trên, chúng ta xác đ nh nh ng đ c tính thi t y u đ i v i ng ế ế
d ng. B i vì chúng ta đang đ c p đ n nh ng khách hàng mua xe, vì th nh ng ế ế
chi ti t thi t y u là:ế ế ế
+ Tên.
+ Đ a ch .
Còn nh ng chi ti t khác (chi u cao, màu tóc …) là không quan tr ng đ i v i ng ế
d ng. Tuy nhiên, n u chúng ta phát tri n m t ng d ng h tr cho vi c đi u tra ế
t i ph m thì nh ng thông tin ch ng h n nh màu tóc là thi t y u. ư ế ế
Bên c nh nh ng chi ti t v khách hàng, nh ng thông tin sau cũng c n thi t: ế ế
+ Lo i máy đ c bán. ượ
+ Nhân viên nào bán máy.
Bên c nh nh ng đ c tính c a khách hàng, máy tính và nhân viên bán hàng, chúng
ta cũng c n li t kê nh ng hành đ ng đ c th c hi n. ượ
Công vi c xu t hóa đ n đòi h i nh ng hành đ ng sau: ơ
+ Nh p tên c a khách hàng.
+ Nh p đ a ch c a khách hàng.
+ Nh p lo i máy tính.
+ Nh p tên c a nhân viên bán máy.
+ Xu t hóa đ n v i đ nh d ng đòi h i. ơ
Thông tin bên d i cho th y nh ng thu c tính và nh ng hành đ ng liên quanướ
đ n m t hóa đ n:ế ơ
Các thu c tính
Tên c a khách hàng
Đ a ch c a khách hàng
Ki u máy tính bán
Nhân viên bán máy
Các hành đ ng
Nh p tên
Nh p đ a ch
Nh p lo i máy
Nh p tên nhân viên bán máy
Xu t hóa đ n ơ
====>S tr u t ng hóa d li u là ti n trình xác đ nh và nhóm các thu c tính và ượ ế
các hành đ ng liên quan đ n m t th c th đ c thù, xét trong m i t ng quan v i ế ươ
ng d ng đang phát tri n.
**Nh ng thu n l i c a vi c Tr u t ng hóa là: ượ
+ T p trung vào v n đ .
+ Xác đ nh nh ng đ c tính thi t y u và nh ng hành đ ng đòi h i. ế ế
+ Gi m thi u nh ng chi ti t không c n thi t. ế ế
Vi c tr u t ng hóa d li u là c n thi t, b i vì không th mô ph ng t t c các ượ ế
hành đ ng và các thu c tính c a m t th c th . V n đ m u ch t là t p trung
đ n nh ng hành vi c t y u và áp d ng chúng trong ng d ng.ế ế
Ch ng h n nh khách hàng ho c nhân viên bán hàng cũng có th th c hi n ư
nh ng hành đ ng sau:
+ Ng i y đi l i.ườ
+ Ng i y nói chuy n.ườ
Tuy nhiên, nh ng hành đ ng này không liên quan đ n ng d ng. Vi c tr u ế
t ng hóa d li u s lo i b chúng.ượ
II - L P (CLASS)
Trong ng d ng mua bán máy tính, chúng ta đã xác đ nh các thu c tính và các
hành đ ng c n có đ xu t m t hóa đ n cho m t khách hàng. ơ
Các hành đ ng và các thu c tính này là chung cho m i khách hàng mua máy. Ví
th , chúng có th đ c nhóm l i trong m t th c th đ n nh t g i là m t ‘l p’. ượ ơ
Hãy kh o sát l p có tên là ‘khách hàng’ d i đây. L p này bao g m m i thu c ướ
tính và hành đ ng đòi h i đ i v i m t khách hàng.
L p Khách hàng
Tên khách hàng
Đ a ch khách hàng
Ki u máy đ c bán ượ
Nhân viên bán máy
Nh p tên
Nh p đ a ch
Nh p ki u máy đ c bán ượ
Nh p tên nhân viên bán máy
Xu t hóa đ n ơ
==>Đ nh nghĩa
M t l p đ nh nghĩa m t th c th theo nh ng thu c tính và nh ng hành đ ng
chung. Ho c
Nh ng thu c tính và nh ng hành đ ng chung c a m t th c th đ c nhóm l i ượ
đ t o nên m t đ n v duy nh t g i là m t l p. Ho c ơ
M t l p là m t s xác đ nh c p ch ng lo i c a các th c th gi ng nhau.
M t l p là m t mô hình khái ni m v m t th c th . Nó mang tính cách t ng
quát ch không mang tính cách đ c thù.
Khi đ nh nghĩa m t l p, chúng ta mu n phát bi u r ng m t l p s ph i có m t
t p h p các thu c tính và các hành đ ng riêng. Ch ng h n nh m t đ nh nghĩa ư
l p d i đây: ướ
L p Con ng i ườ Tên
Chi u cao
Màu tóc
Vi tế
Nói
L p này đ nh nghĩa th c th ‘Con ng i’. M i th c th thu c ki u ‘Con ng i’ ườ ườ
s đ u có nh ng đ c tính và nh ng hành đ ng nh đã đ c đ nh nghĩa. ư ượ
M t khi m t l p đã đ c đ nh nghĩa, chúng ta bi t đ c nh ng thu c tính và ượ ế ượ
nh ng hành đ ng c a nh ng th c th ‘trông gi ng’ nh l p này. Vì th , t b n ư ế
ch t m t l p là m t nguyên m u (prototype).