- Nguyên tắc chủ yếu để làm chủ độ phức tạp của chương trình là triển khai chương trình theo mức và nguyên tắc này được sử dụng rất rộng rãi
- Khi mô tả các kiểu dữ liệu phù hợp với các đối tượng của thế giới thực, người ta rút ra 3 nhận xét hết sức quan trọng sau đây:
Nhận xét 1
Không thể tách rời CTDL với các thao tác trên cấu trúc ấỵ Dữ liệu được phát sinh để chịu sự biến đổi, để được xử lý, nghĩa là chúng là đối tượng của thao tác. Khi mô tả một đối tượng là liệt kê các tính chất của đối tượng. Các tính chất này được phân làm 2 loại:
Nhóm 1: Khuôn dạng, sự tổ chức, kiến trúc của đối tượng, tên, kích thước, xuất sứ, ...
Nhóm 2: Sự vận động của đối tượng và các tương tác với các đối tượng khác.
Nhận xét 2
Hình bình hành
Hình chữ nhật
Hình vuông
Con của hình bình hành Con của hình chữ nhật
Nhiều kiểu dữ liệu thực ra chỉ là sự kế thừa và mở rộng từ các kiểu dữ liệu trước đó. Ví dụ:
- Kiểu hình chữ nhật (HCN) là hình bình hành có một góc vuông - Kiểu hình vuông (HV) Là hình chữ nhật có 2 cạnh liên tiếp = nhau - ....
=> HCN và HV là những kiểu con của hình bình hành. Trong đó, hình vuông lại là kiểu con của hình chữ nhật.
Trật tự phân cấp cha – con cho các kiểu, ngoài thuận lợi tiết kiệm cho việc mô tả, ta còn thấy một ưu thế tuyệt với đó là: Hình ảnh phân cấp làm giảm đáng kể tính phức tạp của vấn đề so với những mô tả lộn xộn, bình đẳng,
Nhận xét 3
Sự xuất hiện và mất đi của một đối tượng cần được mô tả một cách tường minh. Sẽ rất khó khăn cho việc quản lý các đối tượng nếu ta không biết trước được sự tồn tại của chúng
=> 3 nhận xét trên đã được thể hiện trong phương pháp lập trình mới – Lập trình hướng đối tượng.
Phương pháp hướng đối tượng là sự kế tục và phát triển tự nhiên của phương pháp lập trình có cấu trúc. Sự mở rộng được thể hiện như sau:
(1) Mô tả cấu trúc và các thao tác cho các phần tử của một kiểu phải được thực hiện tường minh vào lúc mô tả kiểu
(2) Các đối tượng con (lớp con) của một đối tượng (lớp cha) cho trước được mô tả bằng cách chỉ rõ cha của nó và các thao tác, các thuộc tính riêng của nó
(3) Mỗi đối tượng cần được tạo lập và hủy bỏ một cách tường minh. Việc truy cập tới các đối tượng & các thành phần của chúng được thực hiện giống như truy cập đến các biến bản ghi và các trường của nó.
∆
=
∆
...
Lát cắt 1
Lát cắt 2
Lớp A Lớp B Lớp C