TAILIEUCHUNG - Những chức năng Đối Tượng mới của VB.NET (phần III)

Những chức năng Đối Tượng mới của (phần III) Dùng OO trong Ngăn cản Thừa kế Bình thường (By default) class nào cũng có thể được dùng làm base class để từ đó ta thừa kế. Nhưng đôi khi ta không muốn cho ai thừa kế từ một Class nào đó, để làm việc ấy ta dùng keyword NotInheritable khi declare class: Public NotInheritable Class KhôngCon End Class Khi ta đã dùng keyword NotInheritable rồi thì không class nào có thể dùng keyword Inherits để tạo một subclass từ class ấy. Thừa kế và Phạm vi hoạt động Khi ta dùng đặc. | Bài 6 Những chức năng Đối Tượng mới của phần III Dùng OO trong Ngăn cản Thừa kế Bình thường By default class nào cũng có thể được dùng làm base class để từ đó ta thừa kế. Nhưng đôi khi ta không muốn cho ai thừa kế từ một Class nào đó để làm việc ấy ta dùng keyword NotInheritable khi declare class Public NotInheritable Class KhôngCon End Class Khi ta đã dùng keyword NotInheritable rồi thì không class nào có thể dùng keyword Inherits để tạo một subclass từ class ấy. Thừa kế và Phạm vi hoạt động Khi ta dùng đặc tính thừa kế để tạo một SubClass thì class mới nầy có đủ mọi methods properties và variables với Access Modifier Public hay Friend của SuperClass. Bất cứ thứ gì declared là Private trong SuperClass thì SubClass không thấy hay dùng được. Có một ngoại lệ là New method. Các Constructor methods cần phải được implemented định nghĩa lại trong mỗi SubClass. Một chốc nữa ta sẽ bàn vào chi tiết về điểm nầy. Để làm sáng tỏ vấn đề SubClass có thể dùng Class Members nào của SuperClass ta thử code lại Function Amount trong LineItem class bằng cách khiến nó gọi một Private Function tên CalculateAmount để tính ra Amount thay vì để nó tính trực tiếp như trước đây Public Function Amount As Single Return CalculateAmount End Function Private Function CalculateAmount As Single Return mintQuantity msngPrice End Function Khi ta SubClass Lineitem để tạo ra ServiceLine class bất cứ Object ServiceLine nào cũng thừa kế Function Amount vì Function ấy được declared Public trong BaseClass Lineitem. Ngược lại vì Function CalculateAmount là Private nên cả ServiceLine class lẫn bất cứ client code nào dùng một Lineitem Object đều không truy cập nó được. Như thế mặc dầu ta gọi Function Amount được nhưng đến phiên nó gọi Private Function CalculateAmount thì có bị trở ngại không Không sao cả. Vì Function Amount nằm trong cùng Class với Private Function CalculateAmount nên nó có thể gọi được dù rằng ta gọi Function Amount từ ServiceLine hay client code. Thí dụ trong client code ta có

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.