
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).ấ ộ ớ ộ ẫ

