Làm Đẹp
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

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

Go down

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

Bài gửi  digi2936 Sat Aug 24, 2019 10:55 pm

có lập trình hướng đối tượng (OOP), mindx.edu.vn/course/fullstack-webvới 2 thắc mắc thực dụng:

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

Tính đóng gói: với 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, không luôn tiện cho người ko sở hữu bổn phận truy 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. Thí dụ hàng xóm sang mượn búa, thay vì bảo hàng xóm cứ tự nhiên vào lục lọi, 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" đến nỗi dấu tiệt data, cấm không cho truy nã cập từ bên ngoài. Không những thế, những 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 lớn concrete implementations". Tức là khi viết chương trình theo thời trang hướng đối tượng, lúc mẫu mã các đối tượng, ta cần rút tỉa ra các đặc thù của chúng, rồi trừu tượng hóa thành các interface, và ngoài mặt xem chúng sẽ tương tác với nhau như thế nào. Nhắc bí quyết khác, chúng ta định ra những interface và những contract mà chúng cần thỏa mãn.
Tính thừa kế: Lớp cha với thể san sẻ dữ liệu và phương thức cho các lớp con, những 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. Nếu 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ể thay đổi kiểu (biến hình). (1) Mang những ngôn ngữ OOP có kiểu, có thể mượn phát biểu của C++ "con trỏ kiểu lớp cha mang thể sử dụng để trỏ đến đối tượng kiểu lớp con". Như vậy lúc khai báo chỉ cần khai báo p với kiểu lớp cha, còn sau ấy nó trỏ đến đâu thì kệ cha con nó: ví như cha và con cùng sở hữu phương thức m, thì trong khoảng p cứ lôi m ra gọi thì chắc chắn gọi được, không cần biết hiện nay p đang trỏ tới cha hay con. Khi lớp B thừa kế từ lớp A, thì đối tượng của lớp B sở hữu thể coi là đối tượng của lớp A, vì B cất phổ biến thứ thừa kế từ A. (2) Có tiếng nói OOP ko với kiểu như Ruby, có thể mượn phát biểu của cách thức xác định kiểu kiểu con vịt: "nếu p đi như vịt kể như vịt, thì cứ coi nó là vịt". Như vậy giả dụ lớp C với phương thức m, mà sở hữu 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 có kiểu là C.
Để dễ nhớ, sở hữu thể chia 4 đặc biệt khiến cho 2 nhóm:

hàng ngũ 1: thuộc tính 1. khoa hoc lap trinh c cho tre em Tính đóng gói là tính dễ nhận thấy nhất ví như bạn bắt đầ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 nhiều ở Việt Nam đều dạy).
nhóm 2: thuộc tính hai, 3, và 4 đi một dây sở hữu nhau.
giải đáp thắc mắc 2
Nên làm 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 có phương thức say_hello. ≪- biểu đạt tính trừu tượng, mang nghĩa ta định ra contract là rằng dù là con vật gì đi nữa thì nó cũng mang phương thức say_hello để chào hỏi gì đó.
Tạo hai lớp Cat và Dog kế thừa từ Animal. Lúc khởi tạo chúng sẽ có tên. Chúng override lại phương thức say_hello để chào hỏi theo phương pháp 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 có đặc điểm chung là sở hữu say_hello từ 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ổ thông Animal, với (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ế từ Animal), (2) phương thức say_hello_all để gọi say_hello của đông đảo đối tượng nó quản lí. ≪- bộc lộ 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, khi được đề nghị viết phải viết được ngay ko ấp úng.

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

digi2936

Tổng số bài gửi : 104
Registration date : 09/06/2019

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết