4 Tính chất đặc trưng của lập trình hướng đối tượng

  -  

sở hữu lập trình hướng đối tượng (OOP), đào tạo lập trình web sở hữu 2 thắc mắc thực dụng:

Nó sở hữu những tính chất đặc thù gì? Để ta mang thể dễ nhớ, dễ hiểu, dễ tưởng tượng về nó.
khi học 1 tiếng nói OOP nào ấy, khiến cho sao để rà soát xem ta đã nắm bắt được tiếng nói này hay chưa, bằng bí quyết viết thử code để biểu hiện các đặc trưng này bằng cú pháp của tiếng nói này?
tư vấn câu hỏi một
OOP với 4 thuộc tính đặc trưng chính, những tiếng nói OOP nói chung đều với bí quyết để diễn tả:

Tính đóng gói: sở hữu thể gói dữ liệu (data, ~ biến, trạng thái) và mã chương trình (code, ~ phương thức) thành một cục gọi là lớp (class) để dễ quản lí. Trong cục này thường data rất rắc rối, ko tiện cho người không sở hữu nghĩa vụ truy hỏi cập trực tiếp, nên thường ta sẽ che dấu data đi, chỉ để lòi phương thức ra ngoài. Tỉ dụ hàng xóm sang mượn búa, thay vì bảo hàng xóm cứ trùng hợp vào lục lạo, ta sẽ bảo: "Ấy bác ngồi chơi để tôi bảo cháu lấy cho". Tiếng nói Ruby "phát xít" tới nỗi dấu tiệt data, cấm không cho truy vấn cập trong khoảng bên ngoài. Không những thế, các lớp can dự đến nhau có thể được gom chung lại thành package (tùy tiếng nói mà còn gọi là module, namespace v.v.).
Tính trừu tượng: sở hữu câu "program to interfaces, not to concrete implementations". Tức là lúc viết chương trình theo cá tính hướng đối tượng, lúc thiết kế các đối tượng, ta cần rút tỉa ra những đặc biệt của chúng, rồi trừu tượng hóa thành những interface, và ngoại hình xem chúng sẽ tương tác có nhau như thế nào. Đề cập cách khác, chúng ta định ra các interface và những contract mà chúng cần thỏa mãn.
Tính thừa kế: Lớp cha sở hữu thể chia sẻ dữ liệu và phương thức cho các lớp con, các lớp con khỏi phải khái niệm lại các logic chung, giúp chương trình ngắn gọn. Giả dụ lớp cha là interface, thì lớp con sẽ di truyền những contract trừu tượng từ lớp cha.
Tính đa hình: Đối tượng mang thể đổi thay kiểu (biến hình). (1) Mang các tiếng nói OOP với kiểu, sở hữu thể mượn phát biểu của C++ "con trỏ kiểu lớp cha mang thể sử dụng để trỏ tới đối tượng kiểu lớp con". Tương tự khi khai báo chỉ cần khai báo p mang kiểu lớp cha, còn sau đó nó trỏ đến đâu thì kệ cha con nó: ví như cha và con cộng có phương thức m, thì trong khoảng p cứ lôi m ra gọi thì vững chắc gọi được, ko cần biết hiện tại p đang trỏ tới cha hay con. Khi lớp B thừa kế trong khoảng lớp A, thì đối tượng của lớp B mang thể coi là đối tượng của lớp A, vì B đựng nhiều thứ thừa kế từ A. (2) Với tiếng nói OOP ko với kiểu như Ruby, với thể mượn phát biểu của bí quyết xác định kiểu kiểu con vịt: "nếu p đi như vịt đề cập như vịt, thì cứ coi nó là vịt". Tương tự nếu như lớp C với phương thức m, mà với thể gọi phương thức m trong khoảng đối tượng p bất kì nào ấy, thì cứ coi p mang kiểu là C.
Để dễ nhớ, có thể chia 4 đặc trưng làm hai nhóm:

hàng ngũ 1: tính chất 1. khoa hoc lap trinh c cho tre em Tính đóng gói là tính dễ nhận thấy nhất nếu như bạn khởi đầu học OOP sau khi đã học qua các ngôn ngữ giấy tờ như C và Pascal (thường trường rộng rãi ở Việt Nam đều dạy).
đội ngũ 2: tính chất 2, 3, và 4 đi 1 dây có nhau.
trả lời nghi vấn hai
Nên khiến cho bài tập nhỏ về những con vật sau, gọi tắt là bài 4OOP:

Tạo interface Animal mang phương thức say_hello. ≪- biểu hiện tính trừu tượng, có nghĩa ta định ra contract là rằng dù là con vật gì đi nữa thì nó cũng sở hữu phương thức say_hello để chào hỏi gì ấy.
Tạo 2 lớp Cat và Dog kế thừa từ Animal. Lúc khởi tạo chúng sẽ mang tên. Chúng override lại phương thức say_hello để chào hỏi theo cách riêng của chúng. ≪- diễn tả tính đóng gói (đóng gói biến tên và phương thức say_hello mang nhau) và tính thừa kế (Cat và Dog với đặc điểm chung là sở hữu say_hello trong khoảng Animal).

Xem thêm =>>https://mindx.edu.vn/blog/post/meo-nho-giup-tre-tu-hoc-lap-trinh-nhanh-va-hieu-qua-nhat


Tạo lớp Zoo để quản lí phổ quát Animal, mang (1) phương thức add, remove để thêm, bớt những Animal (các đối tượng của các lớp thừa kế trong khoảng Animal), (2) phương thức say_hello_all để gọi say_hello của gần như đối tượng nó quản lí. ≪- diễn đạt tính đa hình, Zoo gọi chỉ gọi 1 phương thức say_hello, nhưng tùy con vật mà lời chào hỏi sẽ khác nhau.
Đây là bài tập gối đầu giường, lúc được đề nghị viết phải viết được ngay không ngắc ngứ.

Chuyện học tập & làm việc ở MindX