1. digi2936

    digi2936Thành Viên Cấp 1

    Tham gia ngày:
    9 Tháng sáu 2019
    Bài viết:
    106

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

    Thảo luận trong 'Linh tinh' bắt đầu bởi digi2936, 24 Tháng tám 2019.

    có lập trình hướng đối tượng (OOP), đào tạo lập trình websở hữu hai câu hỏi thực dụng:

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

    Tính đóng gói: mang 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 1 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 tiện cho người không sở hữu phận sự 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. Thí dụ hàng xóm sang mượn búa, thay vì bảo hàng xóm cứ bỗng dưng vào lục lạo, ta sẽ bảo: "Ấy chưng ngồi chơi để tôi bảo cháu lấy cho". Ngôn ngữ Ruby "phát xít" tới nỗi dấu tiệt data, cấm ko cho tầm nã cập từ bên ngoài. Tuy nhiên, những lớp can hệ tới nhau mang thể được gom chung lại thành package (tùy ngôn ngữ mà còn gọi là module, namespace v.v.).
    Tính trừu tượng: có câu "program to interfaces, not to concrete implementations". Tức thị khi viết chương trình theo bắt mắt hướng đối tượng, khi thiết kế các đối tượng, ta cần rút tỉa ra những đặc trưng của chúng, rồi trừu tượng hóa thành những interface, và bề ngoài xem chúng sẽ tương tác sở hữu nhau như thế nào. Nhắc 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 mang thể chia sẻ dữ liệu và phương thức cho những lớp con, những lớp con khỏi phải định nghĩa lại những 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 trong khoảng lớp cha.
    Tính đa hình: Đối tượng sở hữu thể thay đổi kiểu (biến hình). (1) Mang các tiếng nói OOP với kiểu, mang thể mượn phát biểu của C++ "con trỏ kiểu lớp cha sở hữu thể tiêu dùng để trỏ đến đố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ỏ tới đâu thì kệ cha con nó: ví như cha và con cộng mang phương thức m, thì trong khoảng p cứ lôi m ra gọi thì cứng cáp gọi được, không cần biết ngày 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 có thể coi là đối tượng của lớp A, vì B chứa phổ quát thứ thừa kế trong khoảng A. (2) Có ngôn ngữ OOP không sở hữu kiểu như Ruby, có 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 kể như vịt, thì cứ coi nó là vịt". Tương tự nếu lớp C sở hữu phương thức m, mà có thể gọi phương thức m từ đối tượng p bất kì nào ấy, thì cứ coi p sở hữu kiểu là C.
    Để dễ nhớ, mang thể chia 4 đặc thù làm 2 nhóm:

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

    4 Tinh chat dac trung cua lap trinh huong doi tuong
     

Chia sẻ trang này