Professional Documents
Culture Documents
TACN
TACN
Object-oriented programming
Trong dạng lập trình này, một đối tượng được tổ hợp từ các
phương thức và dữ liệu có liên quan chặt chẽ với nhau. Điều này chính
xác với ý kiến về vấn đề ẩn và đóng gói thông được thảo luận ở trên.
Các mục trong một đối tượng được phụ thuộc mạnh mẽ và tất cả đối
tượng sở hữu độ liên kết cao.
A well-designed object presents a few simple interfaces to its
clients. The interfaces are those public methods that are
declared to be accessible out-side of the object. Thus a well-
designed object displays loose coupling with other objects
–method calls with pure data parameters to methods with
functional cohesion.
Một đối tượng được thiết kế tốt biểu thị một vài giao diện đơn
giản cho các máy khách của nó. Những phương thức công khai
được khai báo có thể truy cập được bên ngoài đối tượng là các
giao diện người dùng. Do đó, một đối tượng được thiết kế tốt sẽ
hiển thị liên kết yếu với các đối tượng khác – các cuộc gọi
phương thức có tham số dữ liệu thuần túy đến các phương thức
có sự gắn kết chức năng.
It is possible to code an object that allows clients direct access
to its variables, but this is regarded as poor practice and is
heavily discouraged because it is essentially making data global.
Có thể viết mã một đối tượng cho phép khách hàng truy cập trực
tiếp vào các biến của nó, nhưng điều này được coi là thực hành
kém và không được khuyến khích nhiều vì về cơ bản, nó làm
cho dữ liệu trở nên phổ biến.
Nếu bạn cần sửa đổi một lớp (hoặc đối tượng), không cần
phải tạo một bản sao đã chỉnh sửa riêng. Thay vào đó bạn có thể
sử dụng cơ chế kế thừa của OOP. Vì vậy, lớp vẫn còn nguyên vẹn
bản gốc, nhưng được sử dụng lại với các phương thức bổ sung
hoặc thay đổi. Đây được gọi là nguyên tắc mở-đóng. Sử dụng ví dụ
trên, chúng ta có thể tạo một lớp mới có tên là MovingBall với các
phương thức bổ sung để di chuyển quả bóng sang trái và phải:
The new class “MovingBall” has all the features of the class
“Ball”, but as the keyword extends denotes, the new class has
additional methods. The variables x and y in the superclass are
accessible in this subclass because they were declared as
protected. MovingBall makes use of Ball without altering it. Thus
the modularity and integrity of the original component remain intact.
Lớp MovingBall mới có tất cả các tính năng của lớp Ball,
nhưng khi biểu thị từ khóa extends , lớp mới có các phương thức
bổ sung. Trong lớp cha, các biến x và y có thể truy cập được trong
lớp con này vì chúng được khai báo là được bảo vệ. “MovingBall”
sử dụng “Ball” mà không thay đổi nó. Do đó, tính mô-đun và tính
toàn vẹn của thành phần ban đầu không thay đổi.
There is a snag: inheritance creates an additional type
of coupling between a class and its superclasses. Thus if a
subclass is changed, the programmer needs to re-examine
all the superclasses.