TC – 208 :: 01/12/2009                                                                  Đề 1

         Đề thi Lập trình hướng đối tượng (OOP) – CNPM K51
Câu 1: Trình bày tư tưởng nguyên lý đóng gói trong OOP. Phân tích chi tiết những lợi
ích mà nguyên lý này đem lại.

Câu 2 : So sánh 2 khái niệm lớp trừu tượng và giao diện. Phân tích điểm mạnh điểm yếu
khi sử dụng 2 kĩ thuật trên.

Câu 3 : Mô tả ngắn gọn mối quan hệ giữa đối tượng và lớp, giữa các đối tượng với nhau.
Chỉ rõ sự khác biệt giữa 2 ngôn ngữ Java & C++ trong việc quản lý đối tượng.

Câu 4 : Hãy nêu các trường hợp lập trình tại đó hàm thiết lập sao chép (copy constructor
) tự động được triệu gọi. Phân tích vấn đề rò rỉ bộ nhớ có thể xảy ra khi lập trình cho hàm
thiết lập sao chép. Java có vấn đề này không ? Giải thích.

Câu 5 : Giả sử ta cần viết chương trình mô phỏng hoạt động của các con vật trong 1 ngôi
nhà ( house ) bao gồm : người, nhện, cá, mèo. Một động vật (animal ) nói chung được
đặc trưng bởi số chân ( 0 -8 ), đều có thể đi (walk) (trừ cá ), ăn (eat ) và chết ( die ).Các
con vật cũng là vật nuôi ( pet ) trừ người và nhện. Mỗi vật nuôi đều có tên và có thể chơi
đùa (play) trong nhà.

Riêng người có khả năng đọc báo ( readpaper) và theo dõi 1 con vật bất kì ( watch ). Chú
ý là trong 1 ngôi nhà ta có thể bổ sung, loại bỏ ( do rời đi hay chết ) các nhân vật nói trên
nhưng giới hạn số chân là 120.

   a) Thiết kế biểu đồ lớp và giải thích ngắn gọn : đối tượng nào ( thuộc lớp ) kết tập (
      quan hệ has –a ) các đối tượng khác, lớp nào là lớp kế thừa ( quan hệ is a ) các lớp
      khác.
   b) Hãy viết mã cài đặt với ngôn ngữ tùy chọn ( Java, C++ ) cho lớp ( giao diện )
      House, Animal, Pet, Spider, Cat ( các lớp còn lại như đã được cài đặt ). Tại
      chương trình chính tạo ra các đối tượng và kích hoạt các phương thức để in ra :
      - Tổng số chân đang có trong nhà.
      - Tống số vật nuôi đang chơi, nhện đang đi …

Chú ý : Việc cài đặt mỗi phương thức ( trừ các phương thức get, set ) đơn giản là thông
báo đối tượng đó đang làm gì. VD : đang ăn, đang đi, không đi nhưng đang bơi, đọc báo,
xem ..

More Related Content

DOC
Khao sat QL ban va mua hang
PDF
DiemGiuaky(cnpm)
PDF
157393478 solfege-dandelot
DOC
Nicolae steinhardtjurnalulfericirii
PDF
5 lectii-in-15-ani-de-esecuri (1)
PDF
Efectul de platou final lookinside (1)
PDF
Chapter 6-Remoting
Khao sat QL ban va mua hang
DiemGiuaky(cnpm)
157393478 solfege-dandelot
Nicolae steinhardtjurnalulfericirii
5 lectii-in-15-ani-de-esecuri (1)
Efectul de platou final lookinside (1)
Chapter 6-Remoting

More from Hoàng Hải Nguyễn (20)

PDF
Building_a_database_with_PHP_and_SQL
PDF
Giao_trinh_CSDL
PDF
Introduction to EIGRP  [IP Routing] - Cisco Systems
PDF
PDF
RTS introduction
PDF
DichCanKinh_thuchanh
PPT
CCNA S3 - Chapter 04 - VTP
PDF
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
PDF
Quan ly bo nho trong C#
PDF
RFC 1058 - Routing Information Protocol
PDF
Enhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopedia
DOC
Phan tich QL ban va mua hang
PDF
Giao trinh thuc hanh SQL
DOC
Configuring Secure Shell on Routers and Switches Running Cisco IO
DOC
Bao cao thuc tap co so
PDF
Giao trinh phan tich thiet ke he thong pdf
Building_a_database_with_PHP_and_SQL
Giao_trinh_CSDL
Introduction to EIGRP  [IP Routing] - Cisco Systems
RTS introduction
DichCanKinh_thuchanh
CCNA S3 - Chapter 04 - VTP
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
Quan ly bo nho trong C#
RFC 1058 - Routing Information Protocol
Enhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopedia
Phan tich QL ban va mua hang
Giao trinh thuc hanh SQL
Configuring Secure Shell on Routers and Switches Running Cisco IO
Bao cao thuc tap co so
Giao trinh phan tich thiet ke he thong pdf
Ad

OOP1_K51

  • 1. TC – 208 :: 01/12/2009 Đề 1 Đề thi Lập trình hướng đối tượng (OOP) – CNPM K51 Câu 1: Trình bày tư tưởng nguyên lý đóng gói trong OOP. Phân tích chi tiết những lợi ích mà nguyên lý này đem lại. Câu 2 : So sánh 2 khái niệm lớp trừu tượng và giao diện. Phân tích điểm mạnh điểm yếu khi sử dụng 2 kĩ thuật trên. Câu 3 : Mô tả ngắn gọn mối quan hệ giữa đối tượng và lớp, giữa các đối tượng với nhau. Chỉ rõ sự khác biệt giữa 2 ngôn ngữ Java & C++ trong việc quản lý đối tượng. Câu 4 : Hãy nêu các trường hợp lập trình tại đó hàm thiết lập sao chép (copy constructor ) tự động được triệu gọi. Phân tích vấn đề rò rỉ bộ nhớ có thể xảy ra khi lập trình cho hàm thiết lập sao chép. Java có vấn đề này không ? Giải thích. Câu 5 : Giả sử ta cần viết chương trình mô phỏng hoạt động của các con vật trong 1 ngôi nhà ( house ) bao gồm : người, nhện, cá, mèo. Một động vật (animal ) nói chung được đặc trưng bởi số chân ( 0 -8 ), đều có thể đi (walk) (trừ cá ), ăn (eat ) và chết ( die ).Các con vật cũng là vật nuôi ( pet ) trừ người và nhện. Mỗi vật nuôi đều có tên và có thể chơi đùa (play) trong nhà. Riêng người có khả năng đọc báo ( readpaper) và theo dõi 1 con vật bất kì ( watch ). Chú ý là trong 1 ngôi nhà ta có thể bổ sung, loại bỏ ( do rời đi hay chết ) các nhân vật nói trên nhưng giới hạn số chân là 120. a) Thiết kế biểu đồ lớp và giải thích ngắn gọn : đối tượng nào ( thuộc lớp ) kết tập ( quan hệ has –a ) các đối tượng khác, lớp nào là lớp kế thừa ( quan hệ is a ) các lớp khác. b) Hãy viết mã cài đặt với ngôn ngữ tùy chọn ( Java, C++ ) cho lớp ( giao diện ) House, Animal, Pet, Spider, Cat ( các lớp còn lại như đã được cài đặt ). Tại chương trình chính tạo ra các đối tượng và kích hoạt các phương thức để in ra : - Tổng số chân đang có trong nhà. - Tống số vật nuôi đang chơi, nhện đang đi … Chú ý : Việc cài đặt mỗi phương thức ( trừ các phương thức get, set ) đơn giản là thông báo đối tượng đó đang làm gì. VD : đang ăn, đang đi, không đi nhưng đang bơi, đọc báo, xem ..