Theo dõi blog này | Một số blog hay nên đọc | Sách mình đang đọc


OOP - Lập trình hướng đối tượng là cái quái gì?

OOP - Lập trình hướng đối tượng là cái quái gì? là bài viết thứ hai của
tuần này.. :))) Hì, văn phong hôm nay sẽ là văn phong trẻ trâu đề cập vê
2 phần chính là lý thuyết ( phong thái đa cấp ) và phần áp dụng thử một
chút ( phong cách trẻ trâu ).. :)) Haha… Đùa chút tôi, chúng ta đi
vào vấn đề chính nhé.. :V :V

1. Lý thuyết trừu tượng về OOP:

Về lý thuyết trên bác wikipedia gần như có đầy đủ, mà theo tính kế thừa
thì éo có lý do gì mình phải viết lại một đống thứ mà người khác đã viết
rồi, các bạn muón tìm hiểu về lý thuyết có thể click vào link bên dưới,
nó tới thằng trang wiki chứ không chạy đi đâu đâu.. :V :V

Xem thêm:[https://vi.wikipedia.org/wiki/Lập_trình_hướng_đối_tượng]

2. Lý thuyết theo cách hiểu của bạn Khoản:

2.1 Các khái niệm cần biết khi tìm hiểu về OOP là:

Object: Là một đối tượng có các method (Phương thức) và attribute
(thuộc tính). Vì dụ: Tôi có một Object là Người yêu của tôi
các method như
hôn(), giận(), *chịch()…. và lại có
các attribute như chiều cao, cân nặng, vòng 1, vòng
2
…. Đó, hiểu sơ chưa.. =))) *

Method: như ở trên nói, có thể
coi method là mấy cái hàm có chức năng hành động gì đó.. =))) Ví dụ:
Như trên.

Attribute: là thuộc tính của đối tượng như biến, hàm, hay
tham số gì gì đó… Thường thì nó là mốt số liệu cụ thể. =)) Ví dụ:
Như trên.

Class: là một cái khuôn để tạo ra đối tượng. Ví dụ:
class Người yêu có thể tạo ra mấy cái Object kiểu như : Người
yêu của tôi*
, Người yêu của Nam, Người yêu của Tỏi… Nói
chung là muôn trùng vạn trạng.. :V :V*

SuperclassesSubclasses: Lớp cha và lớp con… :V :V Lớp con
sẽ kể thừa lại lớp cha. Ví dụ: Người yêu cũ sẽ kế thừa lại
lớp Người yêu chẳng hạn.. :V :V Nó sẽ thêm một thuộc tính gọi
Ngày chia tay Kaka.. :V :vHiện giờ mình nhớ có chừng đó, khi
nào nhớ thêm mình sẽ thêm vào.. :V :v Hoặc ai đó comment góp ý một tiếng
thì cũng tốt.. :V :V Kiến thức là vô hạn..*

2.2 Các mức truy cập trong OOP:

private:Chỉ nội bộ lớp là có thể sử dụng. Ví dụ: Class Người
yêu
có thể sử dụng cho method chịch() tuy nhiên khi đã trờ thành
Người yêu cũ thì không thể chịch() nữa( Nếu trong quá trình yêu
mà chưa chịch. :V :v ).

protected: Chỉ chính lớp đó và lớp con của nó là có thể sử dụng. Ví
dụ: Class *Người yêu có một thuộc tính là số lần chịch (mỗi lần
chịch sẽ công thêm 1 :V ) , thuộc tính này sau khi đã vào lớp
con Người yêu cũ vẫn có thể kế thừa lại và sử dụng nhưng mà thằng
Bạn thì chẳng thế gọi ra mà dùng được. ( Mình đã có người yêu nhưng
chưa chịch lần nào nên chả biết có kế thừa được không.. :V :V )*

public: thằng nào muốn dùng thì dùng, thằng nào muốn lấy ra sử dụng
thì sử dụng. Ví dụ như Chiều cao, Cân năng….

2.3 Các tính chất cơ bản của hướng đối tượng:

1. Tính kế thừa: Có thể kế thừa các thuộc tính nhằm mở rộng ứng đụng
mà không phải xây dựng lại các đối tượng cũ. Người yêu cũ hoàn toàn có
khả năng lấy lại các thuộc tính của cũng như method của người yêu. Sau
này nếu cần mở rộng thêm nữa thì không cần lăn tăn suy nghĩ về các đối
tượng cũ.

2. Tính đa hình: Khác đối tượng, các phương thức hoàn toàn
có thể giống nhau nhưng khi sử lý theo từng đối tượng lại khác nhau hoàn
toàn.Ví dụ: Người yêu cũVợ đều có một method là hôn() kế
thừa lại từ Người yêu nhưng với Vợ thì cách hôn() hoàn toàn
khác với Người yêu cũ. (Ví dụ hơi ngu nhưng lỡ đưa vào đề tài này
rồi. :V :V )

3. Tính đóng gói: Cho phép lập trình viên được tư do
trong việc cấp quyền thay đổi nội dung bên trong của một đối tượng quá
mức truy cập ở phần 2.2.

4. Tính trựu tượng: cho phép các lập trình
viên loại bỏ tính chất phức tạp của đối tượng bằng cách chỉ đưa ra các
thuộc tính và phương thức cần thiết của đối tượng trong lập trình, cải
thiện khả năng bảo trì của hệ thống.

2.4 Than thở của người khi viết lý thuyết:

Công nhận trình bày lý thuyết nó khổ thật, ý định ban đầu là định vừa lý
thuyết vừa cho vài cái ví dụ luôn mà thôi, hôm sau Khoản đẹp trai sẽ
trình bày đống lý thuyết đó qua bên thực tế bằng Javascript ES6 nhé.. :V
:V Giờ lười quá… Bye.. :V :v