Thoát
Trắc nghiệm Lập trình hướng đối tượng ( OOP )
Nộp bài
1
Lập trình hướng đối tượng là:
Lập trình hướng đối tượng là phương pháp đặt trọng tâm vào các đối tượng, nó không cho phép dữ liệu chuyển động một cách tự do trong hệ thống; dữ liệu được gắn với các hàm thành phần.
Lập trình hướng đối tượng là phương pháp lập trình cơ bản gần với mã máy.
Lập trình hướng đối tượng là phương pháp mới của lập trình máy tính, chia chương trình thành các hàm; quan tâm đến chức năng của hệ thống.
Lập trình hướng đối tượng là phương pháp đặt trọng tâm vào các chức năng, cấu trúc chương trình được xây dựng theo cách tiếp cận hướng chức năng.
2
Đặc điểm cơ bản của lập trình hướng đối tượng thể hiện ở:
Tính đóng gói, tính kế thừa, tính đa hình, tính trừu tượng.
ính đóng gói, tính kế thừa, tính đa hình, tính đặc biệt hóa.
ính chia nhỏ, tính kế thừa.
ính đóng gói, tính trừu tượng.
3
OOP là viết tắt của:
Object Oriented Programming.
Object Open Programming.
Open Object Programming
Object Oriented Proccessing.
4
Hãy chọn câu đúng:
Ngôn ngữ lập trình pascal, C là ngôn ngữ lập trình cấu trúc.
Ngôn ngữ lập trình pascal, C, C++ là ngôn ngữ lập trình cấu trúc.
Ngôn ngữ lập trình C, C++ là ngôn ngữ lập trình hướng đối tượng.
Ngôn ngữ lập trình C++, Java là ngôn ngữ lập trình cấu trúc.
5
Chọn câu sai:
Ngôn ngữ Pascal là ngôn ngữ lập trình hướng đối tượng.
Ngôn ngữ C++, Java là ngôn ngữ lập trình hướng đối tượng.
C, Pascal là ngôn ngữ lập trình cấu trúc.
C++ là ngôn ngữ lập trình cấu trúc.
6
Tính bao gói là:
Cơ chế ràng buộc dữ liệu và thao tác trên dữ liệu đó thành một thể thống nhất, tránh được các tác động bất ngờ từ bên ngoài. Thể thống nhất này gọi là đối tượng.
Cơ chế chia chương trình thành các hàm và thủ tục thực hiện các chức năng riêng rẽ.
Cơ chế không cho phép các thành phần khác truy cập đến bên trong nó.
Cơ chế cho thấy một hàm có thể có nhiều thể hiện khác nhau ở từng thời điểm.
7
Tính kế thừa là:
Khả năng xây dựng các lớp mới từ các lớp cũ, lớp mới được gọi là lớp dẫn xuất, lớp cũ được gọi là lớp cơ sở.
Khả năng sử dụng lại các hàm đã xây dựng.
Khả năng sử dụng lại các kiểu dữ liệu đã xây dựng.
Tất cả đều đúng.
8
Sự đóng gói là:
Encapsulation
Inheritance.
Polymorphism
Abstraction
9
Sự trừu tượng là:
Encapsulation
Inheritance.
Polymorphism
Abstraction
10
Sự thừa kế là:
Encapsulation
Inheritance.
Polymorphism
Abstraction
11
Tính đa hình là:
Encapsulation
Inheritance.
Polymorphism
Abstraction
12
Trong kế thừa. Lớp mới có thuật ngữ tiếng Anh là:
Derived Class.
Base Class.
Inheritance Class.
Object Class.
13
Trong kế thừa. Lớp cha có thuật ngữ tiếng Anh là:
Derived Class.
Base Class.
Inheritance Class.
Object Class.
14
Tính đa hình là:
Khả năng một thông điệp có thể thay đổi cách thể hiện của nó theo lớp cụ thể của đối tượng được nhận thông điệp.
Khả năng một thông điệp có thể được truyền lại cho lớp con của nó.
Khả năng một hàm, thủ tục có thể được kế thừa lại.
Khả năng một hàm, thủ tục được sử dụng lại.
15
Lớp đối tượng là:
Một thiết kế hay mẫu cho các đối tượng cùng kiểu.
Một thể hiện cụ thể cho các đối tượng.
Tập các phần tử cùng loại.
Tập các giá trị cùng loại.
16
Sau khi khai báo và xây dựng thành công lớp đối tượng Sinh viên. Khi đó lớp đối tượng Sinh viên còn được gọi là:
Đối tượng.
Kiểu dữ liệu trừu tượng.
Kiểu dữ liệu cơ bản.
Lớp đối tượng cơ sở.
17
Muốn lập trình hướng đối tượng, bạn cần phải phân tích chương trình, bài toàn thành các:
Hàm, thủ tục
Các module
Các đối tượng từ đó xây dựng các lớp đối tượng tương ứng.
Các thông điệp
18
Trong phương án sau, phương án mô tả tính đa hình là:
Các lớp Điểm, Hình tròn, Hình vuông, Hình chữ nhật… đều có phương thức Vẽ.
Lớp hình tròn kế thừa lớp điểm.
Lớp hình vuông kế thừa lớp hình chữ nhật.
Lớp Điểm, Hình tròn cùng có hàm tạo, hàm hủy.
19
Phương pháp lập trình tuần tự là:
Phương pháp lập trình với cách liệt kê các lệnh kế tiếp.
Phương pháp lập trình với việc cấu trúc hóa dữ liệu và cấu trúc hóa chương trình để tránh các lệnh nhảy.
Phương pháp lập trình được cấu trúc nghiêm ngặt với cấu trúc dạng module.
Phương pháp xây dựng chương trình ứng dụng theo quan điểm dựa trên các cấu
20
Phương pháp lập trình cấu trúc là:
Phương pháp lập trình với cách liệt kê các lệnh kế tiếp.
Phương pháp lập trình với việc cấu trúc hóa dữ liệu và cấu trúc hóa chương trình để tránh các lệnh nhảy.
Phương pháp lập trình được cấu trúc nghiêm ngặt với cấu trúc dạng module.
Phương pháp xây dựng chương trình ứng dụng theo quan điểm dựa trên các cấu trúc dữ liệu trừu tượng, các thể hiện cụ thể của cấu trúc và quan hệ giữa chúng..
21
Khi khai báo và xây dựng thành công lớp đối tượng, để truy cập vào thành phần của lớp ta phải:
Truy cập thông qua tên lớp hay tên đối tượng của lớp.
Không thể truy cập được.
Chỉ có thể truy cập thông qua tên lớp.
Chỉ có thể truy cập thông qua tên đối tượng của lớp.
22
Phương pháp lập trình module là:
Phương pháp lập trình với cách liệt kê các lệnh kế tiếp.
Phương pháp lập trình với việc cấu trúc hóa dữ liệu và cấu trúc hóa chương trình để tránh các lệnh nhảy.
Phương pháp lập trình được cấu trúc nghiêm ngặt với cấu trúc dạng module.
Phương pháp xây dựng chương trình ứng dụng theo quan điểm dựa trên các cấu trúc dữ liệu trừu tượng, các thể hiện cụ thể của cấu trúc và quan hệ giữa chúng..
23
Trừu tượng hóa là:
Phương pháp chỉ quan tâm đến những chi tiết cần thiết (chi tiết chính) và bỏ qua những chi tiết không cần thiết
Phương pháp quan tâm đến mọi chi tiết của đối tượng
Phương pháp thay thế những chi tiết chính bằng những chi tiết tương tự.
Không có phương án chính xác
24
Đối tượng là:
Một thực thể cụ thể trong thế giới thực
Một mẫu hay một thiết kế cho mọi lớp đối tượng.
Một vật chất trong thế giới thực.
Một lớp vật chất trong thế giới thực.
25
Khi khai báo và xây dựng một lớp ta cần phải xác định rõ thành phần:
Thuộc tính (dữ liệu) và phương thức (hành vi) của lớp.
Dữ liệu và đối tượng của lớp.
Khái niệm và đối tượng của lớp.
Vô số thành phần.
26
Chọn câu đúng:
Tại chương trình chính chỉ có thể truy cập đến thành phần public của lớp.
Tại chương trình chính chỉ có thể truy cập đến thành phần private của lớp.
Tại chương trình chính có thể truy cập đến bất kì thành phần nào của lớp.
Tại chương trình chính không thể truy cập đến thành phần nào của lớp.
27
Cho đoạn chương trình sau:
class A {
private:
int x;
public:
int y;
};
void main() {
A obj1; obj1.x=10;
obj2.y=8;
}
Đoạn chương trình bị lỗi tại:
Lỗi tại dòng obj1.x=10;
Lỗi tại dòng obj1.y=8;
Lỗi tại dòng A obj1;
Lỗi tại dòng int x;
28
Khi khai báo lớp trong các ngôn ngữ lập trình hướng đối tượng phải sử dụng từ khóa:
Object.
Record.
File.
class.
29
Thành phần private của lớp là thành phần:
Không cho phép truy xuất từ bên ngoài của lớp chỉ có các phương thức bên trong lớp mới có thể truy xuất được.
Không cho phép truy xuất từ bên ngoài của lớp nhưng cho phép lớp kế thừa truy xuất tới.
Cho phép truy xuất từ bên ngoài lớp.
Cho phép truy xuất từ bên ngoài lớp và cho phép kế thừa.
30
Thành phần protected của lớp là thành phần:
Không cho phép truy xuất từ bên ngoài của lớp chỉ có các phương thức bên trong lớp mới có thể truy xuất được.
Không cho phép truy xuất từ bên ngoài của lớp nhưng cho phép lớp kế thừa truy xuất tới.
Cho phép truy xuất từ bên ngoài lớp.
Cho phép truy xuất từ bên ngoài lớp và cho phép kế thừa.
31
Thành phần public của lớp là thành phần:
Không cho phép truy xuất từ bên ngoài của lớp chỉ có các phương thức bên trong lớp mới có thể truy xuất được.
Không cho phép truy xuất từ bên ngoài của lớp nhưng cho phép lớp kế thừa truy xuất tới.
Cho phép truy xuất từ bên ngoài lớp.
Cho phép truy xuất từ bên trong và ngoài lớp và cho phép kế thừa.
32
Hàm thành viên (phương thức) của lớp:
Tất cả các hàm(hàm trả về giá trị và không trả về giá trị) được khai báo bên trong lớp, xây dựng bên trong hay bên ngoài lớp thể hiện các hành vi của đối tượng.
Tất cả các hàm(hàm và thủ tục) được sử dụng trong lớp.
Tất cả những hàm (hàm và thủ tục) trong chương trình có lớp.
Tất cả những hàm(hàm và thủ tục) được khai báo và xây dựng bên trong lớp mô tả các dữ liệu của đối tượng.
33
Trong một chương trình có thể xây dựng tối đa bao nhiêu lớp
Vô số tuỳ theo bộ nhớ.
1 lớp duy nhất
10 lớp
3 lớp
34
Hàm thành viên của lớp khác hàm thông thường là:
Hàm thành viên của lớp phải được khai báo bên trong lớp và được gọi nhờ tên đối tượng hay tên lớp còn hàm thông thường thì không.
Hàm thành viên của lớp và hàm thông thường không có gì khác nhau.
Hàm thành viên của lớp thì phải được khai báo và xây dựng bên trong lớp còn hàm thông thường thì không.
Hàm thành viên của lớp thì phải khai báo bên trong lớp với từ khóa friend và xây dựng bên ngoài lớp.
35
Thuộc tính của lớp là:
Là dữ liệu trình bày các đặc điểm của một đối tượng.
Liên quan tới những thứ mà đối tượng có thể làm. Một phương thức đáp ứng một chức năng tác động lên dữ liệu của đối tượng.
Là những chức năng của đối tượng.
Tất cả đều sai.
36
Phương thức là:
Là dữ liệu trình bày các đặc điểm của một đối tượng.
Liên quan tới những thứ mà đối tượng có thể làm. Một phương thức đáp ứng một chức năng tác động lên dữ liệu của đối tượng.
Là những chức năng của đối tượng.
Tất cả đều đúng.
37
Cho lớp người hãy xác định đâu là các thuộc tính của lớp người:
Chân, Tay, Mắt, Mũi, Tên, Ngày sinh.
Ăn, Uống, Chân, Tay.
Hát, học, vui, cười.
Tất cả đều sai.
38
Cho lớp Điểm trong hệ tọa độ xOy. Các phương thức có thể có của lớp Điểm là:
Dịch chuyển, Thiết lập toạ độ.
Tung độ, hoành độ.
Tung độ, hoành độ, cao độ.
Tung độ, cao độ.
39
Lập trình hướng đối tượng:
Tất cả đều đúng.
Nhấn mạnh trên dữ liệu hơn là thủ tục.
Các chương trình được chia thành các đối tượng.
Dữ liệu được che giấu và không thể được truy xuất từ các hàm bên ngoài.
40
Lời gọi tới hàm thành viên của lớp là:
Tên_đối_tượng.Tên_hàm_thành_viên.
Tên_lớp.Tên_hàm_thành_viên.
Tên_lớp:Tên_hàm_thành_viên.
Không có phương án đúng.
41
Khi khai báo thành phần thuộc tính và phương thức của lớp, nếu không khai báo từ khóa private, public hay protected thì mặt định sẽ là:
private
public
protected
Chương trình sẽ lỗi và yêu cầu phải khai báo một trong 3 từ khóa.
42
Đoạn chương trình sau:
class A
{
private:
int x;
public:
void nhap();
};
void main()
{
A obj1;
obj1.nhap();
}
Khi biên dịch báo lỗi do:
Không định nghĩa nội dung của phương thức nhap.
Không có lỗi.
Không đươc phép truy cập đến phương thức nhap.
Không khai báo biến x.
43
Trong lập trình hướng đối tượng khả năng các hàm có thể trùng tên nhau gọi là:
Không được phép xây dựng các hàm trùng tên nhau trong cùng một chương trình.
Sự chồng hàm.
Sự chồng hàm nhưng chỉ những hàm thành viên của lớp mới được phép trùng nhau.
Sự chồng hàm nhưng chỉ các hàm thông thường mới được phép trùng nhau.
44
Phân tích mối quan hệ giữa lớp Điểm và lớp Hình tròn ta có thể xác định:
Lớp Hình tròn kế thừa lớp Điểm.
Lớp Điểm kế thừa lớp Hình tròn.
Không có quan hệ gì.
Lớp Hình tròn dẫn xuất ra lớp Điểm.
45
Hàm huỷ trong ngôn ngữ C++ có cú pháp:
~Tên_lớp{ //nội dung}.
Destructor Tên_hàm {//nôi dung}
Tên_lớp{//nội dung}
Done {//nội dung}
46
Cho đoạn chương trình sau
class A{
private:
int x,y;
public:
A(int x=0,int y=0);
void xuat();
~A();
};
A(int x=0,int y=0); được gọi là:
Hàm tạo
Hàm huỷ
Hàm bạn.
Hàm thông thường.
47
Cho đoạn chương trình sau :
class A{
private:
int x,y;
public:
A(int x=0,int y=0);
void xuat();
~A();
};
~A(); được gọi là:
Hàm tạo
Hàm huỷ
Hàm bạn.
Hàm thông thường.
48
Cho đoạn chương trình
class A
{
private:
int x,y;
};
Làm nhiệm vụ:
Khai báo A là một lớp với hai thành phần thuộc tính là x, y kiểu số nguyên.
Khai báo A là một đối tượng với hai thành phần thuộc tính x, y kiểu integer.
Đoạn chương trình trên bị lỗi.
Khai báo lớp A với hai thành phần thuộc tính x,y kiểu số nguyên cho phép truy cập từ bên ngoài lớp.
49
Cho khai báo sau:
class Diem {
private:
int x,y;
public:
void Nhap();
void Xuat();
};
x,y được gọi là:
Thuộc tính của lớp Diem
Phương thức của lớp Diem.
Các hàm thành viên của lớp Diem
Thành viên tĩnh của lớp Diem.
50
Cho khai báo sau:
class Diem {
private:
int x,y;
public:
void Nhap();
void Xuat();
};
Nhap, Xuat được gọi là:
Phương thức của lớp Diem.
Thuộc tính của lớp Diem.
Các hàm bạn của lớp Diem
Tất cả đều đúng.
51
Lớp bao là lớp:
Có thành phần thuộc tính là đối tược của lớp khác.
Kế thừa lớp khác.
Dẫn xuất ra lớp khác.
Lớp bạn của lớp khác.
52
Hàm tạo là:
Hàm tạo là hàm thành viên của lớp dùng để khởi tạo bộ nhớ và giá trị ban đầu cho các thuộc tính trong lớp.
Hàm tạo là hàm nằm bên ngoài lớp dùng để khởi tạo bộ nhớ cho đối tượng.
Hàm tạo là hàm dùng để khởi tạo bộ nhớ cho đối tượng của lớp.
Hàm tạo dùng để huỷ bộ nhớ cho đối tượng.
53
Hàm huỷ là:
Hàm huỷ dùng để huỷ (giải phóng) bộ nhớ cho các thành phần thuộc tính bên trong lớp.
Hàm huỷ là hàm dùng để khởi tạo giá trị ban đầu cho các thành phần thuộc tính bên trong lớp.
Hàm huỷ là hàm dùng để giải phóng toàn bộ các biến của chương trình.
Tất cả đều đúng.
54
Hàm tạo sao chép là:
Tất cả đều đúng.
Là hàm thành viên của lớp.
Dùng để tạo một đối tượng theo đối tượng đã có.
Nếu không xây dựng hàm tạo sao chép chương trình sẽ tự sinh hàm tạo sao chép.
55
Cho đoạn chương trình sau:
class Sinh_vien
{
private:
int Masv;
char Hoten[40];
char Ngaysinh;
int gioitinh;
….
};
Để khai báo một mảng gồm 10 sinh viên ta có thể sử dụng câu lệnh khai báo:
Sinh_vien ds[10];
Sinh_vien ds(10);
Không thể khai báo mảng các đối tượng
Sinh_vien *ds[10];
56
Trong khai báo lớp Đa thức(DT) dưới đây bằng C++:
class DT {
private:
int m;//bac cua da thuc
float *a;//Cac he so cua da thuc
public:
};
Bắt buôc phải xây dựng:
Hàm tạo.
Hàm hủy.
Hàm tạo sao chép
Tất cả các hàm trên
57
Lời gọi hàm tạo:
Gọi như hàm thành viên thông thường ( Tên đối tượng.Tên_hàm ) .
Không cần phải gọi tới hàm tạo vì ngay khi khai báo đối tượng sẽ tự gọi tới hàm tạo.
Gọi bằng cách: Tên lớp.Tên hàm tạo().
Tất cả đều sai.
58
Ta khai báo lớp cơ sở ảo khi nào:
Khi có sự trùng lặp lớp kế thừa trong đa kế thừa và kế thừa nhiều mức.
Khi lớp có phương thức ảo thì bắt buộc phải khai báo là lớp cơ sở ảo.
Khi có sự trùng tên giữa các phương thức của các lớp khác nhau.
Tất cả đều sai.
60
Trong kế thừa, có thể:
Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public và không kế thừa hàm tạo, hàm huỷ.
Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public bao gồm hàm tạo, hàm huỷ.
Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public, private bao gồm hàm tạo, hàm huỷ.
Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public không kế thừa hàm tạo, hàm huỷ.
61
Các hàm tạo có thể có là:
Hàm tạo không đối; Hàm tạo có đối; Hàm tạo sao chép; Hàm tạo bộ nhớ.
Hàm tạo không đối; Hàm tạo có đối; Hàm tạo sao chép
Hàm tạo không đối; Hàm tạo có đối.
Hàm tạo không đối; Hàm tạo sao chép.
62
Cho khai báo sau:
int trituyetdoi(int a); //tri tuyệt đối số nguyên
long trituyetdoi (long a); //tính trị tuyệt đối số nguyên dài
double trituyetdoi(double a); //tính trị tuyệt đối số thực dài
Khai báo trên thể hiện:
Tính chất chồng hàm
Tính chất nạp chồng của dữ liệu
Tính chất đa hình
Tính chất trừu tượng hóa
63
Lời gọi phương thức ảo là:
Gọi như phương thức thông thường.
Gọi kèm từ khoá virtual
Không thể gọi phương thức ảo.
Phải gọi thông qua con trỏ đối tượng.
64
Hàm hủy có:
Một loại.
Hai l oại.
Ba loại.
Bốn loại.
65
Hãy chọn phát biểu sai:
Có hai loại hàm huỷ có đối và không đối.
Có duy nhất một loại hàm huỷ.
Có hai loại hàm dựng có đối và không đối.
Hàm huỷ và hàm dựng đều không có tính chất kế thừa.
66
Trong khai báo dưới:
class Diem (1)
{(2)
private: int x,y;(3)
public: (4)
void Diem(int x,int y);(5)
void ~Diem();(6)
};(7)
Sai tại dòng:
Dòng 6 và 5
Dòng 3 và 5
Dòng 2 và 3
Dòng 3 và 6
67
Trong khai báo sau:
class Diem { (1)
private:
int x,y;(2)
public:(3)
…..
};(4)
class Hinhtron: public Diem (5)
{
private: r:real;(6)
Câu lệnh khai báo tại dòng số 5 cho biết:
Khai báo lớp Hinhtron kế thừa public lớp Diem.
Khai báo lớp Diem kế thừa lớp Hinhtron.
Khai báo lớp Hinhtron là bạn lớp Diem.
Khai báo lớp Hinhtron là lớp bao của lớp Diem.
68
Cho đoạn chương trình sau:
class A {
private:
int x,y;
};
Cho lớp B kế thừa lớp A. Để truy cập vào thành phần x,y của lớp A ta chọn kiểu kế thừa:
Không thể chọn loại kết thừa nào vì thành phần x,y thuộc pham vi private không tham gia trong kế thừa.
Chọn loại kế thừa private.
Chọn loại kế thừa protected.
Chọn loại kế thừa public.
69
Cho đoạn chương trình sau:
class A{
private:
int x,y;
void Nhap();
};
Cho lớp B kế thừa public lớp A, để lớp B có thể truy cập đến phương thức Nhap ta phải:
Đưa phương thức Nhap của lớp A vào phạm vi public hoặc protected.
Không cần phải thay đổi gì.
Không thể truy cập được dù có thay đổi gì.
Tất cả đều sai.
70
Cho đoạn chương trình sau:
class A{
private:
int x,y;
protected:
void Nhap();
};
Lớp B kế thừa lớp A, để phương thức Nhap của lớp A trở thành thành phần private của lớp B ta chọn loại kế thừa là:
Private.
Public.
Protected.
Private hoặc Protected.
71
Cho đoạn chương trình sau:
class A {
private:
int x,y;
public:
void Nhap();
};
Lớp B kế thừa lớp A, để phương thức Nhap của lớp A trở thành thành phần public của lớp B ta chọn loại kế thừa là:
Private.
Public.
Protected.
Private hoặc Protected
72
Các dạng kế thừa là:
Private, Public, Protected
Private, Public
Private, Protected
Protected, Public
73
Trong một lớp có thể:
Nhiều hàm dựng (tạo), các hàm dựng khác nhau về tham đối.
Một hàm dựng.
Hai hàm dựng.
Tất cả đều sai.
74
Trong một lớp có thể:
Duy nhất một hàm hủy.
Chứa tối đa hai hàm hủy.
Có thể chứa được ba hàm hủy.
Có thể chứa vô số hàm hủy tùy theo bộ nhớ.
75
Tính chất của kế thừa dạng Private là:
Thành phần protected, public của lớp cha tương ứng trở thành thành phần private của lớp con.
Thành phần protected, public của lớp cha tương ứng trở thành thành phần public của lớp con.
Thành phần protected, public của lớp cha tương ứng trở thành thành phần protected của lớp con.
Tất cả đều sai.
76
Tính chất kế thừa dạng Protected là:
Thành phần protected, public của lớp cha tương ứng trở thành thành phần protected của lớp con.
Thành phần protected, public của lớp cha tương ứng trở thành thành phần public của lớp con.
Thành phần protected, public của lớp cha tương ứng trở thành thành phần private của lớp con.
Tất cả đều sai.
77
Tính chất kế thừa dạng Public là:
Thành phần protected của lớp cha tương ứng trở thành thành phần protected của lớp con và thành phần public của lớp cha tương ứng trở thành public của lớp con.
Thành phần protected, public của lớp cha tương ứng trở thành thành phần public của lớp con.
Thành phần protected, public của lớp cha tương ứng trở thành thành phần private của lớp con.
Tất cả đều sai.
78
Trong kế thừa có thể kế thừa tối đa:
Vố số mức tùy theo bộ nhớ.
Một mức.
Hai mức.
Ba mức.
79
Trong đa kế thừa có thể kế thừa tối đa:
Vố số lớp tùy theo bộ nhớ.
Hai lớp.
Một lớp.
Ba lớp.
80
Cho lớp A và lớp B, lớp A kế thừa lớp B trong hai lớp đều có phương thức Xuat. Nếu khai báo đối tượng obj thuộc lớp A khi gọi đến phương thức Xuat(obj.Xuat( )) là gọi đến phương thức của lớp nào.
Lớp A.
Lớp B.
Lỗi không thể xác định được.
Gọi đến cả hai phương thức.
81
Cho lớp A, B, C trong đó lớp C kế thừa lớp A,B. Trong lớp A, B đều có phương thức Xuat, khi khai báo đối tượng obj thuộc lớp C thì nếu gọi đến phương thức Xuat (obj.Xuat()) thì phương thức Xuat của lớp nào sẽ được gọi?
Lớp A.
Lớp B.
Lỗi không thể xác định được.
Gọi đến cả hai phương thức.
82
Trong kế thừa nhiều mức có cho phép:
Cho phép trùng tên cả phương thức lẫn thuộc tính.
Không cho phép trùng tên phương thức và thuộc tính.
Cho phép trùng tên phương thức còn không cho phép trùng tên thuộc tính.
Cho phép trùng tên thuộc tính còn không cho phép trùng tên phương thức.
83
Cho đoạn chương trình sau:
class A{
…
public:
void Xuat();
};
class B:public A {
….
public:
void Xuat();
};
void main() {
B O;
Nếu gọi O.Xuat(); thì sẽ.
Gọi đến phương thức Xuat thuộc lớp B.
Lỗi.
Gọi đến phương thức Xuat thuộc lớp A.
Gọi đến cả hai phương thức.
84
Lớp cơ sở trừu tượng là:
Là lớp làm cơ sở cho các lớp khác và không được dẫn xuất từ bất kì lớp nào.
Là lớp cơ sở cho lớp khác.
Là lớp không làm cơ sở cho bất kỳ lớp nào mà chỉ kế thừa các lớp khác.
Là lớp được xây dựng đầu tiên trong chương trình.
85
Thành viên tĩnh của lớp là:
Là thành viên của lớp được khai báo với từ khóa static ở trước.
Là thành viên dùng chung cho tất cả các đối tượng của lớp, không của riêng đối tượng nào?
Được cấp phát bộ nhớ ngay cả khi lớp chưa có đối tượng cụ thể nào.
Tất cả đều đúng.
86
Hàm bạn là:
Là hàm bạn của lớp được phép truy cập đến thành phần private của lớp.
Khai báo với từ khóa vritual ở đầu.
Được sử dụng như hàm thành viên của lớp.
Tất cả đều đúng.
87
Khai báo các phương thức trong lớp cơ sở trừu tượng phải:
Là phương thức ảo thuần túy
Với c++ có cú pháp : virtual void[kiểu_dữ _liệu] tên_phương_thức(tham đối)=0;
Các phương thức không được định nghĩa nội dung.
Tất cả đều đúng.
88
Khai báo phương thức ảo:
Giống khai báo phương thức thường theo sau là từ khoá virtual;
Giống khai báo phương thức thường nhưng đứng đầu là từ khoá virtual;
Giống khai báo phương thức thường nhưng phải được xây dựng bên trong lớp.
Giống khai báo phương thức thường nhưng không cần phải xây dựng nội dung.
89
Cho biết cách khai báo phương thức ảo trong C++ nào sau đây là đúng:
void[kiểu_dữ_liệu] Tên_phương_thức ([các tham đối]) Virual;
Virual void[kiểu_dữ_liệu] Tên_phương_thức ([các tham đối]);
void[kiểu_dữ_liệu] Virual Tên_phương_thức ([các tham đối]);
oid[kiểu_dữ_liệu] Tên_phương_thức (Virual [các tham đối]);
90
Cho đoạn chương trình sau:
class A {
private:
int x,y;
public:
void Xuat(); virtual;
};
Hãy nhận định phát biểu đúng:
Xuat là phương thức ảo.
Lỗi tại dòng void Xuat(); virtual;
Xuat là một hàm tạo.
Xuat là một hàm huỷ.
91
Một lớp có thể có tối đa:
Vô số phương thức ảo.
Một phương thức ảo.
Hai phương thức ảo.
Không xác định được.
92
Cho đoạn chương trình sau:
class A {
int x,y;
public:
void Nhap();
void Xuat();
};
class B:public A{
private: float z;
};
void main()
{
A A1;B B1;
A1=B1;
B1=A1;
getch();
}
Hãy cho biết đoạn chương trình trên lỗi tại đâu?
Tại câu lệnh B1=A1;
Tại câu lệnh A1=B1
Tại câu lệnh class B:public A.
Không lỗi tại dòng nào cả?
93
Lập trình hướng đối tượng:
Tất cả đều đúng.
Nhấn mạnh trên dữ liệu hơn là thủ tục.
Các chương trình được chia thành các đối tượng.
Dữ liệu được che giấu và không thể được truy xuất từ các hàm bên ngoài.
94
Cho biết các ví dụ sau ví dụ chứng tỏ tính kế thừa:
Tất cả đều đúng.
Xe đạp và Xe đạp đua.
Hình bình hành và hình chữ nhật
Điểm và Hình tròn.
95
Lớp Bạn của một lớp là:
Là lớp có thể truy cập đến thành phần private, protected và public của lớp mà nó làm bạn.
Là lớp có thể truy cập đến thành phần protected và public của lớp mà nó làm bạn.
Là lớp có thể truy cập đền thành phần public của lớp mà nó làm bạn.
Tất cả đều sai.
96
Cách khai báo kế thừa trong java sử dụng từ khóa:
extends
inheritance
Sử dụng dấu : giống c++
Khai báo giống c#
97
Cho đoạn chương trình sau:
class Trai_cay
{
private:
char mauvo[5];
char mauhat[3];
char hinhdang[30];
public:
void Hienthi(
};
Cần xây dựng lớp Trai_dua_hau. Quan hệ giữa lớp Trai_cay và lớp Trai_dua_hau là:
Trai_cay là lớp cha của lớp Trai_dua_hau.
Trai_dua_hau là lớp cha của lớp Trai_cay.
Trai_cay và Trai_dua_hau là lớp bạn
Trai_dua_hau là lớp bao của lớp Trai_cay.
98
Cho đoạn chương trình sau:
class Trai_cay
{
private:
char mauvo[5];
char mauhat[3];
char hinhdang[30];
public:
void Hienthi() const=0;
…
};
Lớp Trai_cay với khai báo bằng C++ như trên được gọi là lớp:
Lớp cơ sở trừu tượng.
Lớp cơ sở ảo.
Lớp bao.
Lớp dẫn xuất ảo.
99
Cho lớp tam giác tạo bởi ba điểm A, B, C. Quan hệ giữa lớp tam giác và lớp điểm là:
Tam giác là lớp bao của lớp điểm.
Tam giác là lớp con của lớp điểm.
Tam giác là lớp cha của lớp điểm.
Tam giác là lớp bạn của lớp điểm.
100
Cần xây dựng lớp đường thẳng y=ax+b. Thuộc tính của lớp đường thẳng này được xác định là:
Các hệ số a, b.
Các hệ số x,y.
Các hệ số a, b, x, y.
Các hệ số a, x, b.
101
Để quản lý các phương tiên giao thông đường bộ người ta xây dựng hệ thống các lớp đối tượng gồm: lớp xe đạp, lớp xe máy, lớp ô tô con, lớp xe tải. Sau quá trình phân tích nhận thấy rằng các lớp đối tượng trên cùng có các đặc điểm như sau: Tải_trọng, loại_động_cơ, Biển_số và đều di chuyển từ điểm a đến điểm b. Người ta xây dựng lớp PT_Giao_Thông làm lớp cơ sở cho các lớp đối tượng trên và lớp này gồm các phương thức là:
Di_chuyển.
Tải_trọng, Loại_động_cơ, Loại_phương_tiện, Biển_số.
Loại phương tiện, Di_chuyển.
Tải_trọng, Loại_động_cơ, Loại_phương_tiện, Biển_số, Di_chuyển
102
Các trường hợp trùng tên trong kế thừa là:
Trùng tên giữa phương thức lớp cha và phương thức lớp con; Trùng tên giữa phương thức giữa các lớp cha; Trùng tên giữa các lớp con.
Trùng tên giữa phương thức lớp cha và phương thức lớp con; Trùng tên giữa phương thức giữa các lớp cha; Kế thừa lớp cha quá nhiều lần.
Trùng tên giữa phương thức lớp cha và phương thức lớp con; Trùng tên giữa phương thức giữa các lớp cha;.
Trùng tên giữa phương thức lớp cha và phương thức lớp con;; Trùng tên giữa các lớp con.
103
Cho lớp A, B, C trong đó lớp C kế thừa lớp A,B. Trong lớp A, B đều có phương thức Xuat, lớp C không có phương thức Xuất, khi khai báo đối tượng obj thuộc lớp C thì nếu gọi đến phương thức Xuat (obj.Xuat()) thì khi biên dịch thấy xuất hiện lỗi, trường hợp xảy ra lỗi này là do:
Lớp A.
Lớp B.
Lỗi không thể xác định được.
Trùng tên giữa phương thức các lớp cha
104
Khi đưa các lớp thực tế vào quản lý trong máy tính ta nhận thấy mỗi đối tượng thực tế có vô số thuộc tính nhưng với mỗi bài toán cụ thể ta chỉ xác định các lớp chỉ gồm một số thuộc tính nhất định. Cách thức đó gọi là:
Sự trừu tượng hóa dữ liệu.
Sự trừu tượng hóa chức năng.
Tính đa hình.
Tính kế thừa.
105
Vào mỗi kỳ thi người ta cần lập ra danh thí sinh dự thi dựa theo danh sách sinh viên đủ điều kiện dự thi của mỗi môn học, để thuận tiện xử lý người ta xây dựng lớp Thí sinh dựa trên lớp sinh viên với điều kiện là đủ điều kiện dự thi các môn học. Mối quan hệ giữa lớp Sinh viên và lớp thí sinh là:
Lớp Thí sinh là trường hợp đặc biệt hóa của lớp Sinh viên
Lớp Sinh viên là trường hợp đặc biệt hóa của lớp Thí sinh.
Lớp Thí sinh là trường hợp tổng quá của lớp Sinh viên.
Không có phương án đúng.
106
Khi xây dựng lớp trong C++, nếu trong lớp có thành phần thuộc tính là kiểu con trỏ hay tham chiếu thì bắt buộc phải:
Xây dựng hàm hủy
Xây dựng phương thức nhập
Xây dựng phương thức xuất.
Không bắt buộc phải xây dựng gì hết.
107
Xây dựng lớp điểm trong hệ toạ độ Oxyz các thuộc tính của lớp là:
Tung độ, hoành độ, cao độ
Tung độ, hoành độ, cao độ, dịch chuyển
Dịch chuyển
Không có phương án nào đúng.
108
Hãy cho biết thành phần thuộc tính của lớp đa thức xây dựng bằng mảng:
Bậc, mảng hệ số
Bậc, hệ số
Mảng bậc, mảng hệ số
Mảng bậc, hệ số.
109
Vào mỗi kỳ thi người ta cần lập ra danh thí sinh dự thi dựa theo danh sách sinh viên đủ điều kiện dự thi của mỗi môn học, để thuận tiện xử lý người ta xây dựng lớp Thí sinh dựa trên lớp sinh viên với điều kiện là đủ điều kiện dự thi các môn học. Người ta phân tích thấy lớp thí sinh là trường hợp đặc biệt của lớp Sinh viên vì vậy khi xây dựng người ta xây dựng:
Lớp Thí sinh kế thừa lớp Sinh viên
Lớp Sinh viên kế thừa lớp Thí sinh.
Lớp Thí sinh là lớp bao của lớp Sinh viên.
Lớp Sinh viên là lớp bao của lớp Thí sinh
110
Cho lớp Dathuc, để thực hiện khai báo sau mà không lỗi:
void main()
{
Dathuc D1,D2(D1);
}
Ta cần xây dựng:
Hàm tạo không đối và hàm tạo sao chép;
Hàm tạo không đối và hàm tạo có đối.
Hàm tạo có đối số mặc định
Hàm tạo có đối.
111
Xây dựng hàm tạo sao chép của lớp Diem trong C++ khai báo theo cú pháp sau:
Diem (const Diem &D);
Diem (Diem D);.
Diem (float x, float y);
Diem (Diem D1, Diem D2);.
112
Để tính khoảng cách hai điểm trong lớp điểm ta xây dựng phương thức tính khoảng cách hai điểm theo cú pháp sau: float KC2D(Diem D); Lời gọi đến phương thức để tính khoảng cách hai điểm là:
cout<
cout<
KC2D(D1,D2).in()
Không có phương án đúng
113
Trong kế thừa, lớp dẫn xuất có thể kế thừa các phương thức và thuộc tính của l ớp cơ sở nhưng không:
Kế thừa hàm tạo, toán tử gán
Kế thừa hàm hủy, toán tử gán
Kế thừa toán tử
ất cả các phương án trên.
114
Tính chất kế thừa chỉ ra rằng khi lớp A kế thừa lớp B thì:
Lớp A sẽ có toàn bộ những thành phần thuộc protected và public của lớp B.
Lớp B sẽ có toàn bộ những thành phần thuộc protected và public của lớp A.
Lớp A sẽ có toàn bộ những thành phần thuộc private, protected và public của lớp B.
Lớp A sẽ có toàn bộ những thành phần thuộc private và public của lớp B.
115
Trong lớp phân số khai báo: Phanso(int ts=0,int ms=1); Là :
Hàm tạo có tham số mặc định của lớp Phanso
Hàm tạo sao chép của lớp Phanso.
Phương thức gán của lớp Phanso
Khai báo trên không thể tồn tại trong lớp Phanso
116
Cho lớp B, C kế thừa lớp A; Lớp D kế thừa lớp B và C. Khi đó đối tượng của lớp D không thể kế thừa được thành phần của A. Cần phải :
Khai báo A là lớp cơ sở ảo đối với B và C.
Khai báo lại A là lớp cơ sở ảo với D.
Khai báo A là lớp cơ sở ảo đối với B.
Hiển nhiên lớp D không thể kế thừa lớp A vì kế thừa không có tính bắc cầu.
117
Khi xây dựng lớp đối tượng công việc cần làm là:
Xác định thành phần thuộc tính và phương thức của lớp đó.
Xác định thành phần private, public, protected là gì.
Xác định kiểu dữ liệu của thuộc tính, kiểu trả về của phương thức.
Tất cả các phương án đều đúng.
118
Khi khai báo lớp A là bạn của lớp B thì:
Chưa chắc lớp B đã là bạn của lớp A.
Chắc chắn lớp B là bạn của lớp A.
Lớp A sẽ kế thừa mọi thành phần của lớp B.
Tất cả các phương thức của lớp B đều có thể truy cập đến thành phần riêng của lớp A
119
Trường Đại học kinh doanh cũng In giấy báo nhập học vào mỗi kỳ tuyển sinh, Trường địa học Kinh tế quốc dân cũng In giấy báo nhập học, trường đại học Quốc gia cũng in Giấy báo nhập học, tuy nhiên 3 giấy báo nhập học này lại có thể có cấu trúc, nội dung, hình thức khác nhau. Ví dụ này chứng tỏ tính:
Đa hình
Ảo của phương thức.
Trừu tượng
Đóng gói.
120
Một lớp có thể:
Là lớp cơ sở của vô số lớp.
Là lớp bạn của vô số lớp.
Là lớp dẫn xuất của vô số lớp.
Tất cả các phương án đếu đúng.
121
Chồng hàm là:
Khả năng các hàm có thể trùng tên nhau nhưng khác nhau về: kiểu dữ liệu trả về hoặc kiểu dữ liệu của tham số hoặc số lượng tham số truyền vào.
Khả năng các hàm có thể trùng tên nhau, trùn cả về: kiểu dữ liệu trả về, kiểu dữ liệu của tham số, số lượng tham số truyền vào.
Khả năng các hàm có thể trùng tên nhau nhưng khác nhau về: kiểu dữ liệu trả về hoặc kiểu dữ liệu của tham số hoặc số lượng tham số truyền vào. Chỉ có thể chồng hàm thành viên của lớp
Tất cả các phương án đếu đúng.
122
Xây dựng lớp Hinh_hoc là lớp cơ sở cho các lớp Hinh_vuong, Hinh_tron, Hinh_cn, Hinh_tamgiac. Nhận thấy các lớp này đểu có phương phương thức tính D_Tich(diện tích). Tuy nhiên cách tính diện tích của các phương thức D_Tich ứng với các đối tượng của các lớp dẫn xuất là khác nhau. Điều này thể hiện tính:
Đa hình
Ảo của phương thức.
Trừu tượng
Đóng gói.
123
Các lớp có thể kế thừa từ lớp động vật là:
Lớp Con chó (1)
Lớp Con mèo (2)
Lớp cây cối (3)
Cả (1) và (2)
124
Các phương thức cơ bản của lớp xe hơi là:
Khởi động, Chuyển bánh, Rẽ phải, Rẽ trái, Di chuyển, Quay đầu, Lùi sau
Khởi động, Chuyển bánh, Rẽ phải, Rẽ trái, Di chuyển, Lùi sau.
Khởi động, Di chuyển, Rẽ phải, Rẽ trái, Lùi sau.
Không có phương thức nào là của lớp xe hơi.
125
Bắt buộc phải xây dựng hàm tạo lớp khi:
Khi cần khởi gán giá trị ban đầu cho thành phần thuộc tính của lớp
Khi cần khởi gán giá trị ban đầu cho thành phần phương thức của lớp
Khi cần truyền tham số cho hàm thành viên của lớp.
Không bắt buộc phải xây dựng hàm tạo
126
Cho đoạn chương trình sau:
class Phanso
{
private:
int ts,ms;
public:
Phanso(int ts1, int ms1)
{ts=ts1;ms=ms1;}
};
void main()
{
Phan so P1,P2(3,4);
}
Câu lệnh khai báo Phanso P1 bị báo lỗi vì:
Gọi tới hàm tạo không đối mà chương trình lại không xây dựng.
Chương trình trên không thể lỗi được vì chương trình C++ sẽ tự phát sinh hàm tạo không đối.
Không xác định được gọi tới hàm tạo nào
Tất cả đều sai.
127
Mối quan hệ giữa lớp Người và lớp Sinh viên là:
Lớp Người là lớp cơ sở cho lớp Sinh Viên.
Lớp Người là lớp dẫn xuất của lớp Sinh Viên
Lớp Người là lớp bao của lớp Sinh Viên
Lớp Nguời là lớp đối tượng thành phần của lớp Sinh Viên.
128
Mối quan hệ giữa lớp Môn Học và lớp Sinh viên là:
Lớp Môn Học là lớp cơ sở cho lớp Sinh Viên.
Lớp Môn Học là lớp dẫn xuất của lớp Sinh Viên
Lớp Môn Học là lớp bao của lớp Sinh Viên
Lớp Môn Học là lớp đối tượng thành phần của lớp Sinh Viên.
129
Khi xây dựng lớp đối tượng, các thuộc tính dữ liệu thông thường được khai báo trong phạm vi:
Private
Public
Private và Protected
Protected
130
Cho đoạn chương trình:
class Diem
{
float x,y;
public:
Diem(){x=0;y=0}; //ham tao khong doi
Diem(float x,float y);//ham tao co doi
};
class HT:public Diem
{
private:
float r;
public:
HT(){r=1;};
HT(float x1,float y1, float r1){r=r1;};
};
Đoạn chương trình trên khi khai báo 1 hình tròn (HT H1;) thì hình tròn H1 này có:
Không xác định được tâm vì theo tính chất kế thừa không kế thừa hàm tạo, ở lớp dẫn xuất phải gọi hàm tạo của lớp cơ sở.
Tâm là (0,0) bán kinh là 1
Tâm là(1,1) bán kình là 1
Tất cả các phương án đều đúng.
131
Cho đoạn chương trình:
class Diem
{
float x,y;
public:
Diem(){x=0;y=0}; //ham tao khong doi
Diem(float x,float y);//ham tao co doi
};
class HT:public Diem
{
private:
float r;
public:
HT(){r=1;};
HT(float x1,float y1, float r1){r=r1;};
};
Đoạn chương trình trên khi khai báo 1 hình tròn (HT H1;) thì hình tròn H1 này chưa xác định được tâm vì theo tính chất kế thừa không kế thừa hàm tạo ta phải tự triệu gọi hàm tạo
của lớp cơ sở ở lớp dẫn xuất. Để xác định tâm cho hình tròn H1 là 0,0 ta cần sửa là:
HT():Diem(){r=1;};
HT(){x=0,y=0;r=1;};
HT(){Diem();r=1;};
Tất cả các phương án đều đúng.
132
Để đưa đối tượng trong thực tể vào máy tính ta cần chú trọng đến tính:
Trừu tượng dữ liệu và trừu tượng chức năng
a hình của nó.
Kế thừa.
Báo gói.
133
Khi khai báo, xây dựng lớp các thuộc tính của lớp thường được khai báo trong phạm vi Private, điều này thể hiện đặc tính:
Bao gói
Trừu tượng
Đa hình
Chồng hàm
134
Khi khai báo, xây dựng lớp các phương thức thường được khai báo trong phạm vi public để:
Tương tác với các lớp hay môi trường bên ngoài.
Thể hiện tính bao gói dữ liệu
Thể hiện rõ tính chất đa hình.
Tương tác với các thuộc tính bên trong lớp.
135
Cho lớp Time với ngôn ngữ C++ như sau:
class time {
int hour,min, sec;
public:
void addHour(int h);
}
Khi xây dựng phương thức addHour bên ngoài lớp Time ta phải viết là:
void addHour(int h){ //Nội dung}
void addHour(int h);{//Nội dung}
void time:addHour(int h){//Nội dung}
void time::addHour(int h){//Nội dung}
Chế độ Từng Câu
Chế độ Từng Câu: 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135