1
Tại sao nói ngôn ngữ Java không phải thuần lập trình hướng đối tượng?
0
Thái Yên0 đã đăng:

Mọi người có ai biết tại sao ngôn ngữ Java không được xem là một ngôn ngữ thuần lập trình hướng đối tượng không giải thích giúp em với?

thêm bình luận...
2
Nhân Nguyên60 đã đăng:

Bất cứ một ngôn ngữ lập trình nào nếu muốn được xem là một ngôn ngữ lập trình thuần hướng đối tượng nó phải thỏa mãn các điều kiện sau:

  1. Nó phải hỗ trợ được 4 đặc điểm của phương pháp lập trình hướng đối tượng đó là:
    • Tính đóng gói dữ liệu (Encapsulation)
    • Tính kế thừa (Inheritance)
    • Tính trừu tượng (Abstraction)
    • Tính đa hình (Polymorphism)
  2. Những kiểu dữ liệu cơ bản được định nghĩa sẵn như int, string, float, ... phải ở dạng đối tượng.
  3. Những kiểu dữ liệu được người dùng định nghĩa cũng phải ở dạng đối tượng.
  4. Những toán tử thực thi trên đối tượng phải ở dạng các phương thức.

Vậy ngôn ngữ lập trình Java vi phạm hai điều kiện (2)(4).

Vi phạm điều kiện (2): Java hỗ trợ bạn khai báo các kiểu dữ liệu định nghĩa sẵn dưới dạng int, byte, long, ...v.v mà trong lập trình hướng đối tượng các kiểu dữ liệu này phải được đóng gói lại thành các đối tượng như Integer, String, ...v.v, mặc dù Java cũng hỗ trợ đóng gói các kiểu dữ liệu được định nghĩa sẵn này nhưng đó chỉ là lớp ngoài, thực chất nó vẫn dưới dạng kiểu dữ liệu cơ bản.

Vi phạm điều kiện (4): Java có thể sử dụng toán tử để thực hiện một phép tính nào đó giữa hai đối tượng như String s = "123" + "ABC", điều này vi phạm nguyên tắc thực thi trên đối tượng phải ở dạng các phương thức của phương pháp lập trình hướng đối tượng.

Cảm ơn bạn nhé.

Thái Yên 15.12.2017
thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)