DANH MỤC TÀI LIỆU
Tổng quan về Core Java
1
Chương 1
LẬP TRÌNH HƯỚNG ðỐI TƯỢNG
Mục tiêu
Kết thúc chương, hc viên có th:
ðịnh nghĩa Lp trình hướng ðối tượng (Object-oriented Programming).
Nhn thc v Tru tưng hóa D liu (Data Abstraction).
ðịnh nghĩa mt Lp (Class).
ðịnh nghĩa mt ðối tượng (Object).
Nhn thc ñược s khác bit gia Lp và ðối tượng.
Nhận thức ñược sự cần thiết ñối với phương thức Thiết lập (Construction)
và Hủy (Destruction).
ðịnh nghĩa tính Bn vng (Persistence).
ðịnh nghĩa v tính ñóng gói d liu (Data Encapsulation)
Hiu biết v tính Tha kế (Inheritance).
ðịnh nghĩa tính ða hình (Polymorphism).
Lit kê nhng ưu ñim ca phương pháp hướng ðối tưng.
1.1 Gii thiu v Lp trình hướng ðối tượng (Object-oriented
Programming)
Lp trình hướng ðối tượng (OOP) mt phương pháp thiết kế phát trin
phn mm. Nhng ngôn ng OOP không ch bao gm pháp mt trình
biên dch (compiler) còn mt môi trường phát trin toàn din. Môi
trường này bao gm mt thư vin ñược thiết kế tt, thun li cho vic s dng
các ñối tưng.
ðối vi mt ngôn ng lp trình h tr OOP thì vic trin khai k thut lp trình
hướng ñối tượng s d dàng hơn. K thut lp trình hưng ñi tượng ci tiến
vic phát trin các h thng phn mm. K thut y ñề cao nhân t chc năng
(functionality) và các mi quan h d liu.
OOP là phương thc tư duy mi ñể gii quyết vn ñề bng máy tính. ðể ñạt kết
qu, lp trình viên phi nm vn ñề thành mt thc th quen thuc vi máy
tính. Cách tiếp cn hướng ñối tượng cung cp mt gii pháp toàn vn ñể gii
quyết vn ñề.
2
Hãy xem xét mt tình hung cn ñược trin khai thành mt h thng trên máy
vi tính: vic mua bán xe hơi. Vn ñ vi tính hóa vic mua bán xe hơi bao gm
nhng gì?
Nhng yếu t rõ ràng nht liên quan ñến vic mua bán xe hơi là:
1) Các kiu xe hơi (model).
2) Nhân viên bán hàng.
3) Khách hàng.
Nhng hot ñộng liên quan ñến vic mua bán:
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 chn la mt xe hơi.
3) Khách hàng ñặt hóa ñơn.
4) Khách hàng tr tin.
5) Chiếc xe ñược trao cho khách hàng.
Mi vn ñề ñược chia ra thành nhiu yếu t, ñưc gi là các ðối tượng
(Objects) hoc các Thc th (Entities). Chng hn như ví d trên, khách
hàng, xe hơi và nhân viên bán hàng là nhng ñối tượng hoc thc th.
Lp trình viên luôn luôn c gng to ra nhng kch bn (scenarios) tht quen
thuc vi nhng tình hung thc tin. Bước th nht trong phương pháp này
làm cho máy tính liên kết vi nhng ñối tượng thế gii thc.
Tuy nhiên, máy tính ch là mt c máy. Nó ch thc hin nhng công vic ñược
lp trình thôi. Vì thế, trách nhim ca lp trình viên cung cp cho máy
tính nhng thông tin theo cách thc cũng nhn thc ñược cùng nhng
thc th như chúng ta nhn thc.
ðó chính vai trò ca k thut hướng ñối tượng. Chúng ta s dng k thut
hướng ñối tượng ñể ánh x nhng thc th chúng ta gp phi trong ñời sng
thc thành nhng thc th tương t trong máy tính.
Phát trin phn mm theo k thut lp trình hướng ñối tượng có kh năng gim
thiu s ln ln thường xy ra gia h thng và lĩnh vc ng dng.
Lp trình hướng ñối tượng ñề cp ñến d liu và th tc x lý d liu theo quan
ñim mt ñối tượng duy nht. Lp trình hướng ñối tượng xem xét d liu
như mt thc th hay mt ñơn v ñộc lp, vi bn cht riêng và nhng ñặc
tính ca thc th y. Bây gi chúng ta y kho sát nhng thut ng ñối
tượng’ (object), ‘d liu’ (data) và ‘phương thc’ (method).
3
Có nhiu loi ñối tượng khác nhau. Chúng ta có th xem các b phn khác nhau
trong mt cơ quan các ñối tượng. ðin hình mt cơ quan nhng b
phn liên quan ñến vic qun tr, ñến vic kinh doanh, ñến vic kế toán, ñến
vic tiếp th Mi b phn nhân s riêng, các nhân s ñược giao cho
nhng trách nhim ràng. Mi b phn cũng nhng d liu riêng chng
hn như thông tin nhân, bng kim kê, nhng th thc kinh doanh, hoc bt
k d liu nào liên quan ñến chc năng ca b phn ñó. Rõ ràng là mt cơ quan
ñược chia thành nhiu b phn thì vic qun tr nhân s nhng hot ñộng
doanh nghip d dàng hơn. Nhân s ca cơ quan ñiu khin x d liu
liên quan ñến b phn ca mình.
Chng hn như b phn kế toán chu trách nhim v lương bng ñối vi cơ
quan. Nếu mt người ñơn v tiếp th cn nhng chi tiết liên quan ñến lương
bng ca ñơn v mình, người y ch cn liên h vi b phn kế toán. Mt người
thm quyn trong b phn kế toán s cung cp thông tin cn biết, nếu như
thông tin y th chia s ñược. Mt người không thm quyn t mt b
phn khác thì không th truy cp d liu, hoc không th thay ñổi làm hư hng
d liu. d này minh chng rng các ñối tượng hu dng trong vic phân
cp và t chc d liu.
Hình 1.1 Minh họa cấu trúc của một cơ quan ñiển hình.
Hình 1.1
Khái niệm về ñối tượng thể ñược mở rộng ñến hầu hết các lãnh vực ñời
sống, hơn nữa, ñến thế giới lập trình. Bất kỳ ứng dụng nào ñều thể ñược
ñịnh nghĩa theo thuật ngữ thực thể hoặc ñối tượng ñể tạo ra tiến trình xử
phỏng theo tiến trình xử lý mà con người nghĩ ra.
Phương pháp gii quyết ‘top-down’ (t trên xung) cũng còn ñược gi
‘lp trình hướng cu trúc’ (structured programming). xác ñịnh nhng chc
năng chính ca mt chương trình nhng chc năng này ñược phân thành
nhng ñơn v nh hơn cho ñến mc ñộ thp nht. Bng k thut này, các
Phòng Nhân
s
Phòng Kế toán
Phòng Kinh
doanh
4
chương trình ñược cu trúc theo h thng phân cp các module. Mi mt
module mt ñầu vào riêng mt ñầu ra riêng. Trong mi module, s ñiu
khin có chiu hướng ñi xung theo cu trúc ch không có chiu hướng ñi lên.
Phương pháp OOP cố gắng quản lý việc thừa kế phức tạp trong những vấn ñề
thực tế. ðể làm ñược việc này, phương pháp OOP che giấu một vài thông tin bên
trong các ñối tượng. OOP tập trung trước hết trên dữ liệu. Rồi gắn kết các
phương thức thao tác trên dữ liệu, việc này ñược xem như phần thừa kế của
việc ñịnh nghĩa dữ liệu. Bảng 1.1 minh họa sự khác biệt giữa hai phương pháp:
Phương pháp Top-Down OOP
Chúng ta s xây dng mt khách
sn.
Chúng ta s xây dng mt tòa nhà 10 tng
vi nhng dãy phòng trung bình, sang
trng, và mt phòng hp ln.
Chúng ta s thiết kế các tng lu,
các phòng và phòng hp.
Chúng ta s xây dng mt khách sn vi
nhng thành phn trên.
Bảng 1.1 Một ví dụ về hai phương pháp giải quyết OOP và Structured
1.2 Tru tượng hóa d liu (Data Abstraction)
Khi mt lp trình viên phi phát trin mt chương trình ng dng thì không
nghĩa người y lp tc viết cho ng dng y. Trước hết, người y phi
nghiên cu ng dng xác ñịnh nhng thành phn to nên ng dng. Kế tiếp,
người y phi xác ñịnh nhng thông tin cn thiết v mi thành phn.
Hãy kho sát chương trình ng dng cho vic mua bán xe hơi nói trên. Chương
trình phi xut hóa ñơn cho nhng xe hơi ñã bán cho khách hàng. ð xut mt
hóa ñơn, chúng ta cn nhng thông tin chi tiết v khách hàng. Vy bước th
nht là xác ñịnh nhng ñặc tính ca khách hàng.
Mt vài ñặc tính gn kết vi khách hàng là:
Tên.
ðịa ch.
Tui.
Chiu cao.
Màu tóc.
T danh sách k trên, chúng ta xác ñnh nhng ñc tính thiết yếu ñối vi ng
dng. Bi vì chúng ta ñang ñề cp ñến nhng khách hàng mua xe, vì thế nhng
chi tiết thiết yếu là:
5
Tên.
ðịa ch.
Còn nhng chi tiết khác (chiu cao, màu tóc …) không quan trng ñối vi
ng dng. Tuy nhiên, nếu chúng ta phát trin mt ng dng h tr cho vic
ñiu tra ti phm thì nhng thông tin chng hn như màu tóc là thiết yếu.
Bên cnh nhng chi tiết v khách hàng, nhng thông tin sau cũng cn thiết:
Kiu xe ñược bán.
Nhân viên nào bán xe.
Bên cnh nhng ñặc tính ca khách hàng, xe hơi nhân viên bán hàng, chúng
ta cũng cn lit kê nhng hành ñộng ñược thc hin.
Công vic xut hóa ñơn ñòi hi nhng hành ñộng sau:
Nhp tên ca khách hàng.
Nhp ñịa ch ca khách hàng.
Nhp kiu xe.
Nhp tên ca nhân viên bán xe.
Xut hóa ñơn vi ñịnh dng ñòi hi.
Khung thông tin bên dưới cho thấy những thuộc tính những hành ñộng liên
quan ñến một hóa ñơn:
Các thuc tính
Tên ca khách hàng
ðịa ch ca khách hàng
Kiu xe bán
Nhân viên bán xe
Các hành ñng
Nhp tên
Nhp ñịa ch
Nhp kiu xe
Nhp tên nhân viên bán
xe
Xut hóa ñơn
6
ðịnh nghĩa
S tru tượng hóa d liu là quá trình xác ñịnh và nhóm các thuc tính và các
hành ñộng liên quan ñến mt thc th c th, xét trong mi tương quan vi ng
dng ñang phát trin.
Tiếp theo, chúng ta mun ng dng tính toán tin hoa hng cho nhân viên bán
hàng.
Nhng thuc tính liên kết vi nhân viên bán hàng tương quan vi ng dng
này là:
Tên.
S lượng xe bán ñược.
Tin hoa hng.
Nhng hành ñộng ñòi buc ñối vi công vic này là:
Nhp tên nhân viên bán xe.
Nhp s lượng xe bán ñược.
Tính tin hoa hng kiếm ñược.
Nhng thuc tính
Tên
S lượng xe bán ñược
Tin hoa hng
Nhng hành ñộng
Nhp tên
Nhp s lượng xe bán ñược
Tính tin hoa hng
Như thế, việc trừu tượng hóa dữ liệu tra ñặt ra câu hỏi ‘ðâu những thuộc tính
và những hành ñộng cần thiết cho một vấn ñề ñặt ra?
1.2.1 Những ưu ñiểm của việc Trừu tượng hóa
Nhng ưu ñim ca vic Tru tượng hóa là:
Tp trung vào vn ñề.
Xác ñịnh nhng ñặc tính thiết yếu và nhng hành ñộng cn thiết.
Gim thiu nhng chi tiết không cn thiết.
thông tin tài liệu
Tài liệu cung cấp kiến thức chung về Java và cách lập trình
Mở rộng để xem thêm
từ khóa liên quan
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×