SlideShare a Scribd company logo
1 of 1
Download to read offline
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

More from Hoàng Hải Nguyễn

Building_a_database_with_PHP_and_SQL
Building_a_database_with_PHP_and_SQLBuilding_a_database_with_PHP_and_SQL
Building_a_database_with_PHP_and_SQLHoàng Hải Nguyễn
 
Introduction to EIGRP  [IP Routing] - Cisco Systems
Introduction to EIGRP  [IP Routing] - Cisco SystemsIntroduction to EIGRP  [IP Routing] - Cisco Systems
Introduction to EIGRP  [IP Routing] - Cisco SystemsHoàng Hải Nguyễn
 
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLICCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLIHoàng Hải Nguyễn
 
RFC 1058 - Routing Information Protocol
RFC 1058 - Routing Information ProtocolRFC 1058 - Routing Information Protocol
RFC 1058 - Routing Information ProtocolHoàng Hải Nguyễn
 
Enhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopedia
Enhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopediaEnhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopedia
Enhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopediaHoàng Hải Nguyễn
 
Configuring Secure Shell on Routers and Switches Running Cisco IO
Configuring Secure Shell on Routers and Switches Running Cisco IOConfiguring Secure Shell on Routers and Switches Running Cisco IO
Configuring Secure Shell on Routers and Switches Running Cisco IOHoàng Hải Nguyễn
 
Giao trinh phan tich thiet ke he thong pdf
Giao trinh phan tich thiet ke he thong pdfGiao trinh phan tich thiet ke he thong pdf
Giao trinh phan tich thiet ke he thong pdfHoàng Hải Nguyễn
 

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

Building_a_database_with_PHP_and_SQL
Building_a_database_with_PHP_and_SQLBuilding_a_database_with_PHP_and_SQL
Building_a_database_with_PHP_and_SQL
 
Oracle
OracleOracle
Oracle
 
Giao_trinh_CSDL
Giao_trinh_CSDLGiao_trinh_CSDL
Giao_trinh_CSDL
 
notes4
notes4notes4
notes4
 
Introduction to EIGRP  [IP Routing] - Cisco Systems
Introduction to EIGRP  [IP Routing] - Cisco SystemsIntroduction to EIGRP  [IP Routing] - Cisco Systems
Introduction to EIGRP  [IP Routing] - Cisco Systems
 
MySQL-PHP
MySQL-PHPMySQL-PHP
MySQL-PHP
 
RTS introduction
RTS introductionRTS introduction
RTS introduction
 
DichCanKinh_thuchanh
DichCanKinh_thuchanhDichCanKinh_thuchanh
DichCanKinh_thuchanh
 
CCNA S3 - Chapter 04 - VTP
CCNA S3 - Chapter 04 - VTPCCNA S3 - Chapter 04 - VTP
CCNA S3 - Chapter 04 - VTP
 
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLICCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
 
Quan ly bo nho trong C#
Quan ly bo nho trong C#Quan ly bo nho trong C#
Quan ly bo nho trong C#
 
RFC 1058 - Routing Information Protocol
RFC 1058 - Routing Information ProtocolRFC 1058 - Routing Information Protocol
RFC 1058 - Routing Information Protocol
 
Enhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopedia
Enhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopediaEnhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopedia
Enhanced Interior Gateway Routing Protocol - Wikipedia, the free encyclopedia
 
Phan tich QL ban va mua hang
Phan tich QL ban va mua hangPhan tich QL ban va mua hang
Phan tich QL ban va mua hang
 
notes2
notes2notes2
notes2
 
Giao trinh thuc hanh SQL
Giao trinh thuc hanh SQLGiao trinh thuc hanh SQL
Giao trinh thuc hanh SQL
 
Configuring Secure Shell on Routers and Switches Running Cisco IO
Configuring Secure Shell on Routers and Switches Running Cisco IOConfiguring Secure Shell on Routers and Switches Running Cisco IO
Configuring Secure Shell on Routers and Switches Running Cisco IO
 
Ch3-2
Ch3-2Ch3-2
Ch3-2
 
Bao cao thuc tap co so
Bao cao thuc tap co soBao cao thuc tap co so
Bao cao thuc tap co so
 
Giao trinh phan tich thiet ke he thong pdf
Giao trinh phan tich thiet ke he thong pdfGiao trinh phan tich thiet ke he thong pdf
Giao trinh phan tich thiet ke he thong pdf
 

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 ..