Tải bản đầy đủ (.docx) (6 trang)

mỗi hệ điều hành mới được phát triển từ một phiên bản nào đó phải đảm bảo tính kế thừa từ phiên bản trước đó

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (581.81 KB, 6 trang )

Trình bày tính chất kế thừa và thích nghi . Hãy nêu vai trò và ý nghĩa của tính
chất này . Tính chất này không được áp dụng với các phần mềm nào và tại sao
? Hãy nêu cơ chế đảm bảo tính thích nghi .
Cho các ví dụ minh họa trong windows
Bài làm
Mỗi hệ điều hành mới được phát triển từ một phiên bản nào đó phải đảm bảo tính
kế thừa từ phiên bản trước đó. Mọi chương trình áp dụng đã có , nếu không vi
phạm các quy tắc bảo vệ đều phải thực hiện được trên hệ điều hành mới. Điều này
tạo điều kiện cho người dùng có thể chuyển sang hệ thống mới với những tính
năng ưu việt hơn, tiếp tục làm việc bình thường với vốn chương trình và dữ liệu đã
có của mình .
Hệ thống mới phải tồn tại trong thời gian đủ dài , thích nghi với những điều kiện
và thiết bị mới đồng thời phải có khả năng cho phép người dùng chuyển đổi từ dữ
liệu sang dạng có thể truy nhập được bởi các công cụ trong hệ thống cũ .
Ví dụ: Khi chuyển sang chế độ đặt tên dài , dữ liệu lưu trữ trên phải tổ chức sao
cho các công cụ chỉ làm việc với cách đặt tên ngắn cho files cơ bản vẫn làm việc
bình thường như các files đó không phải là có tên dài.
Hệ điều hành phải có tính tổng quát theo thời gian :phải kế thừa các ưu điểm, khắc
phục các nhược điểm của phiên bản trước và khả năng thích nghi với những thay
đổi trong tương lai.Khi nâng cấp hệ điều hành thì các thao tác , thông báo không
được thay đổi ; hoặc nếu có thay đổi thì cần hạn chế và phải được hướng dẫn cụ
thể khi chuyển đổi từ phiên bản này sang phiên bản khác.
Hệ điều hành phải có tính mở để có thể dễ dàng nâng cấp cải thiện hệ thống hay hệ
điều hành phải là hệ thống mở.
*Nguyên lí xây dựng 1 hệ thống mở thường dựa vào 2 nguyên tắc cơ bản:
-Nguyên tắc Môđun:

+ Hệ thống được xây dựng từ những môđun độc lập và tồn tại bộ quy tắc liên kết
chúng thành hệ thống có tổ chức.
+Các môđun quan hệ với nhau thông qua các dữ liệu vào ra,các đối số.
+Quan hệ phân cấp của mô đun được xác lập khi chúng liên kết với nhau để giải


quyết những vẫn đề phức tạp.
-Nguyên tắc sinh:
Mô đun khởi sinh hệ điều hành
Trong windows có rất nhiều vị dụ về tính kế thừa và thích nghi :
-Tính kế thừa trong Lập trình hướng đối tượng: Đặc tính này cho phép một đối
tượng có thể có sẵn các đặc tính mà đối tượng khác đã có thông qua kế thừa. Điều
này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải
tiến hành định nghĩa lại. Tuy nhiên, không phải ngôn ngữ định hướng đối tượng
nào cũng có tính chất này.
Ví dụ : Chúng ta sẽ xây dựng một tập các lớp mô tả cho thư viện các ấn phẩm. Có
hai kiểu ấn phẩm: tạp chí và sách. Chúng ta có thể tạo một ấn phẩm tổng quát bằng
cách định nghĩa các thành phần dữ liệu tương ứng với số trang, mã số tra cứu, ngày
tháng xuất bản, bản quyền và nhà xuất bản. Các ấn phẩm có thể được lấy ra, cất đi
và đọc. Đó là các phương thức thực hiện trên một ấn phẩm. Tiếp đó chúng ta định
nghĩa hai lớp dẫn xuất tên là tạp chí và sách. Tạp chí có tên, số ký phát hành và
chứa nhiều bài của các tác giả khác nhau . Các thành phần dữ liệu tương ứng với
các yếu tố này được đặt vào định nghĩa của lớp tạp chí. Tạp chí cũng cần có một
phương thức nữa đó là đặt mua. Các thành phần dữ liệu xác định cho sách sẽ bao
gồm tên của (các) tác giả, loại bìa (cứng hay mềm) và số hiệu ISBN của nó. Như
vậy chúng ta có thể thấy, sách và tạp chí có chung các đặc trưng ấn phẩm, trong
khi vẫn có các thuộc tính riêng của chúng.
Lớp ấn phẩm và các lớp dẫn xuất của nó.
Với tính kế thừa, chúng ta không phải mất công xây dựng lại từ đầu các lớp mới,
chỉ cần bổ sung để có được trong các lớp dẫn xuất các đặc trưng cần thiết.
-Tính kế thừa trong lập trình C++
Kế thừa từ một lớp cơ sở có thể được khai báo thông qua các đặc tính công
cộng,bảo tồn, hay riêng tư. Những đặc tính này cho phép xác định khi nào các lớp
dẫn xuất hay không liên quan có thể sử dụng các thành viên công cộng, bảo tồn,
hay riêng tư của lớp cơ sở. Tuy nhiên, chỉ có sự kế thừa dạng công cộng là hoàn
toàn theo đúng ý nghĩa của việc "kế thừa". Hai dạng khác thì ít được dùng hơn.

Nếu các đặc tả này không được khai báo thì việc kế thừa được gán mặc định là
dạng riêng tư cho lớp cơ sở và dạng công cộng cho một cấu trúc cơ sở.
Các lớp cơ sở có thể được khai báo là ảo (thông qua từ khóa virtual). Kế thừa ảo
bảo đảm rằng chỉ có một thực thể của lớp cơ sở tồn tại trong đồ thị kế thừa, tránh
được một số vấn đề mơ hồ của việc đa kế thừa
Đa kế thừa cũng là một tính năng có nhiều tranh cãi trong C++. Tính đa kế thừa
cho phép một lớp được dẫn xuất từ nhiều hơn một lớp cơ sở; điều này có thể dẫn
tới một đồ thị phức tạp của các quan hệ kế thừa. Thí dụ, lớp "Buổi học" có thể kế
thừa từ hai lớp "thời gian" và "bộ môn". Một số ngôn ngữ khác như Java, tiến hành
cách thức tương tự bằng cách cho phép kế thừa của nhiều giao diện trong khi giới
hạn số lượng của các lớp cơ sở (kế thừa) chỉ còn là một lớp. (giao diện, không như
lớp, không cho phép thiết lập nội dung của các thành viên và do đó không thể có
thực thể)
+ Sử dụng các từ khóa VIRTUAL và OVERRIDEđể hiện thực tính kế thừa
+Sử dụng từ khóa NEW :

×