You are on page 1of 27

MỘT SỐ CÂU HỎI ÔN TẬP

A. PHẦN LÝ THUYẾT

1. Cách khai báo biến, hằng trong C#.

Trước tiên phải đặt một cái tên cho biến và chỉ ra biến đó sẽ lưu loại dữ liệu nào (số nguyên - int,
số thực double, chuỗi - string ...), việc này gọi là khai báo biến

Khi đặt tên biến C# cần lưu ý: tên biến có thể chứa chữ, số và ký tự _ nhưng ký tự đầu tiên của
tên biến không được dùng số, tên biến trong C# có phân biệt chữ hoa chữ thường.

Ví dụ khai báo biến sử dụng vào kiểu dữ liệu trên.

int seconds = 60; //khai báo biến số nguyên

double so_pi = 3.14; //khai báo biến số thực

bool deltaIsSezo = true; //Khai báo biến logic

char chooseAction = 'S' ; //Khai báo biến kiểu ký tự

string msgResult = "Kết quả giải:" ; // khai báo biến chuỗi

Hằng số lưu trữ các giá trị mà không thay đổi được nữa, dùng từ khóa const để khai báo hằng số
(như khai báo, khởi tạo biến nhưng phía trước có từ khóa const)

const string MON = "THỨ HAI";

Console.WriteLine(MON);

2. Các tính chất của Lập trình hướng đối tượng

+Tính trừu tượng (abstraction) mô tả một cách tổng quát hóa (tập trung vào thông tin cần
thiết) mà không chi tiết thông tin về các đối tượng, không gắn cứng với một đối tượng cụ thể cần
mô tả (triển khai với interface, abstract).

+Tính đóng gói (encapsulation) dữ liệu đối tượng cố gắng như nằm trong một hộp đen, các
thành phần khác bên ngoài đối tượng không trực tiếp tác động đến dữ liệu (bên ngoài truy cập,
tác động thông qua các phương thức public cho phép, qua setter, getter ...).
+Tính đa hình (polymorphism) đối tượng ứng xử khác nhau tùy trường hợp cụ thể.

+Tính kế thừa (inheritance) đặc tính của lớp được kế thừa từ một lớp khác.

3. Tính kế thừa (Inheritance) trong lập trình hướng đối tượng

Kế thừa cho phép chúng ta định nghĩa ra một lớp mới dựa trên một lớp khác có sẵn (cách 1 lớp
có thể thừa hưởng lại những thuộc tính, phương thức từ 1 lớp khác và sử dụng chúng như là của
bản thân mình).

Kế thừa giúp cho việc mở rộng code - bảo trì trở nên dễ hơn.

+ Lớp cơ sở là lớp mà được lớp khác kế thừa.


+ Lớp kế thừa là lớp kế thừa lại các thuộc tính, phương thức từ lớp cơ sở.
Lớp kế thừa luôn có thể cast (chuyển) về lớp cơ sở

4. Các phạm vi truy xuất trong OOP

+ Nếu khai báo lớp mà không chỉ ra phạm vi cụ thể thì phạm vi mặc định là internal.
+ Nếu khai báo thành phần bên trong lớp mà không chỉ ra phạm vi cụ thể thì phạm vị mặc
định là private.

5. Khái niệm về lớp trong OOP

Lớp (Class) là một kiểu dữ liệu tham chiếu nó định nghĩa một tập hợp các biến (trường dữ liệu,
thuộc tính) và phương thức (gọi chúng là các member - thành viên lớp).

Một class trong C# có các thành phần như:

+ Thuộc tính: là các thành phần dữ liệu hay còn gọi là các biến.
+ Phương thức: là các hàm thành phần thể hiện các hành vi của một đối tượng thuộc lớp.
+ Phương thức khởi tạo.
+ Phương thức huỷ bỏ.
Class trong C# thực chất là một kiểu dữ liệu mới do người dùng tự định nghĩa.

Đối với thành viên lớp (biến, thuộc tính, phương thức) thì có thể áp dụng các access modifiers
sau:

+ public : không giới hạn phạm vi truy cập


+ protected : chỉ truy cập trong nội bộ lớp hay các lớp kế thừa
+ private : (mặc định) chỉ truy cập được từ các thành viên của lớp chứa nó
+ internal : chỉ truy cập được trong cùng assembly (dll, exe)
+ protected internal: truy cập được khi cùng assembly hoặc lớp kế thừa
+ private protected: truy cập từ lớp chứa nó, lớp kế thừa nhưng phải cùng assembly

6. Các phương pháp lập trình trong lập trình OOP (Hàm, thủ tục, thông điệp, đối tượng)

Lười quá chưa là

7. Cách gọi hàm thành viên của class

Ngoài việc lưu giữ dữ liệu, các class (và struct) cũng có thể chứa các hàm! Các hàm được định
nghĩa bên trong một class sẽ được gọi là các hàm thành viên – member functions (hoặc đôi khi
là các phương thức – methods). Các hàm thành viên có thể được được nghĩa bên trong hoặc
bên ngoài của khai báo class. Ở thời điểm hiện tại, để cho đơn giản, chúng ta sẽ chỉ xét đến
trường hợp định nghĩa chúng bên trong class, trường hợp định nghĩa các hàm thành viên bên
ngoài class sẽ được trình bày sau trong bài này.
khai báo của hàm thành viên print():
void print() // defines a member function named print()
{
std::cout << m_year << "/" << m_month << "/" << m_day;
}

8. Cách sử dụng từ khóa Static

Đối với biến tĩnh thì dùng cho cho mọi đối tượng thuộc lớp, được khởi tạo một lần duy nhất. Nếu
muốn khởi tạo thành viên tĩnh của lớp khi lần đầu truy cập có thể dùng phương thức khởi tạo
tĩnh

Phương thức khởi tạo không tham số có chỉ thị truy cập là static, phương thức khởi tạo này dùng
để khởi tạo các thành viên dữ liệu tĩnh, nó tự động gọi khi truy cập một thành viên dữ liệu tĩnh
lần đầu. Ví dụ:

class MyColorCode

public static string color_danger;

public static string color_warning;

public static string color_info;

// Phương thức khởi tạo tĩnh, được gọi khi lần đầu truy cập một thành viên tĩnh

static MyColorCode()

Console.WriteLine("Static MyColorCode Contructor Call");

color_danger = "Red";
color_info = "Cyan";

color_warning = "Yellow";

Đoạn mã sử dụng kiểm tra:

Console.WriteLine(MyColorCode.color_danger);

Console.WriteLine(MyColorCode.color_info);

Kết quả là

Static MyColorCode Contructor Call

Red

Cyan

//

Cú pháp:

<phạm vi truy cập> static <kiểu trả về> <tên phương thức>

// nội dung phương thức

Vd: public static long MeoPeo(real canNang)

9. Cách sử dụng thuộc tính (Properties) trong OOP

Thuộc tính - Property là các thành viên được đặt tên của các lớp, cấu trúc, và Interface. Các
biến thành viên hoặc các phương thức trong một lớp hoặc cấu trúc được gọi là các Field. Thuộc
tính là một sự kế thừa của các Field và được truy cập bởi sử dụng cùng cú pháp. Chúng sử
dụng accessor thông qua các giá trị của các Private Field có thể được đọc, được viết và được
thao tác.
Thuộc tính (Property) không đặt tên các vị trí lưu giữ. Thay vào đó, chúng có accessors mà đọc,
ghi hoặc tính toán các giá trị của chúng.
// khai báo một thuộc tính Code có kiểu dữ liệu public string Name
string:
{
public string Code
get
{
{
get
return name;
{
}
return code;
set
}
{
set
name = value;
{
}
code = value;
}
}
}
// khai báo một thuộc tính Age có kiểu dữ liệu int:
public int Age
{
get
{
return age;
}
set
{
age = value;
}
// khai báo một thuộc tính Name có kiểu dữ liệu
}
String:
10. Các khái niệm: quá tải toán tử, quá tải phương thức

Quá tải toán tử là định nghĩa lại chức năng của toán tử. Cú pháp quá tải toán tử giống khai báo một
phương thức, ngoại trừ tên phương thức được thay bằng từ khoá operator, theo sau là toán tử cần quá
tải. Cũng giống như phương thức, quá tải toán tử cũng có danh sách tham số và kiểu dữ liệu trả về.
Mục đích của việc quá tải toán tử là giúp cho chương trình trong gọn gàng, dễ hiểu hơn, thay vì phải gọi
phương thức.
Quá tải phương thức có nghĩa là viết hai hoặc nhiều phương thức trong cùng một lớp bằng cách sử
dụng cùng tên phương thức, nhưng các tham số truyền là khác nhau.

11. Đặc điểm và cách sử dụng các hàm tạo, hàm hủy

Phương thức khởi tạo (Constructor):

+ Là phương thức của lớp, nó được thi hành ngay khi đối tượng được tạo (bởi toán tử new), phương
thức khởi tạo có tên trùng với tên của lớp, không có kiểu trả về, bạn có thể tạo nhiều phương thức khởi
tạo - các phương thức này đều cùng tên với tên lớp nhưng tham số khác nhau. Lúc này khi khởi tạo đối
tượng với toán tử new tùy tham số khởi tạo mà nó sẽ gọi phương thức khởi tạo tương ứng.

+Việc sử dụng hàm khởi tạo đảm bảo dữ liệu của đối tượng bắt buộc phải khởi tạo ngay khi đối tượng
đó được tạo - tránh việc sử dụng đối tượng mà dữ liệu không chính xác.

Phương thức Huỷ (Destructor):

+Khi đối tượng bị hủy (giải phóng) nó sẽ tự động thi hành một phương thức gọi là phương thức hủy
(hàm hủy Finalizer hay Destructor). Dùng phương thức hủy khi có nhu cầu dọn dẹp, giải phóng tài
nguyên chiếm giữ…
+Bộ nhớ trên HEAP là nơi lưu các đối tượng được tạo ra từ lớp (toán tử new), khi đối tượng đó không
còn biến nào tham chiếu (trỏ) đến thì nó sẽ được đánh dấu thu hồi - và khi GC thu hồi - phương thức
hủy sẽ được thi hành.

Khi sử dụng phương thức hủy lưu ý:

+ Một lớp chỉ được khai báo một phương thức hủy (trong khi có thể có nhiều phương thức tạo)
+ Bạn không thể gọi phương thức hủy một cách chủ động được (do hệ thống quản lý NET CORE
tự quyết định thi hành nó khi nào)
+ Khai báo phương thức hủy: tên trùng tên lớp, phía trước code ký hiệu ~, phương thức không
được có tham số.
12. Đặc điểm và cách khai báo tính kế thừa

Kế thừa có thể được định nghĩa là quá trình mà một lớp (class) có được các thuộc tính của một lớp
khác. Các thuộc tính đó có thể là một phương thức (method) hoặc một trường (field) nào đó. Lớp được
kế thừa sẽ được gọi chung là lớp cha, còn lớp kế thừa sẽ được gọi chung là lớp con.

Ưu điểm của Tính kế thừa


Nhìn chung, Tính kế thừa có một số ưu điểm như sau:
• Tính kế thừa giúp tăng khả năng tái sử dụng. Khi một lớp kế thừa hoặc dẫn xuất một lớp khác,
thì nó có thể truy cập tất cả các chức năng của lớp mà nó kế thừa.
• Khả năng tái sử dụng nâng cao độ tin cậy. Chúng ta chỉ cần kiểm tra và gỡ lỗi với mã lớp cha,
chứ không cần kiểm tra từng lớp con.
• Khi mã được tái sử dụng, sẽ giúp giảm chi phí phát triển và bảo trì.
• Các lớp con sẽ tuân thủ theo một giao diện (interface) chuẩn.
• Tính kế thừa giúp hạn chế sự dư thừa mã và hỗ trợ khả năng mở rộng mã.
• Lập trình viên có điều kiện thuận lợi để tạo các thư viện lớp (class libraries).
Nhược điểm của Tính kế thừa
Bên cạnh những ưu điểm nêu trên, Tính kế thừa có một số nhược điểm sau:
• Các chức năng được kế thừa hoạt động chậm hơn chức năng bình thường, vì nó được thực hiện
gián tiếp (lấy từ lớp cha) chứ không phải trực tiếp.
• Thông thường, các dữ liệu thành viên trong lớp cha không được sử dụng. Điều này có thể dẫn
đến lãng phí bộ nhớ.
• Tính kế thừa làm tăng sự kết nối giữa lớp cơ sở và lớp kế thừa. Một thay đổi trong lớp cha sẽ
ảnh hưởng đến tất cả các lớp con.
• Nếu sử dụng Tính kế thừa không đúng cách có thể dẫn đến các cách giải quyết sai lầm sau này.
Trong OOP, có một số loại kế thừa như sau:

1. Single Inheritance (Đơn kế thừa): đây là trường hợp một lớp chỉ được kế thừa từ một lớp duy
nhất, tức là một lớp con chỉ có một lớp cha.
2. Multiple Inheritance (Đa kế thừa): đây là trường hợp một lớp có thể kế thừa từ nhiều hơn một
lớp khác, đồng nghĩa với việc một lớp con có thể có nhiều hơn một lớp cha.
3. Multi-Level Inheritance (Kế thừa đa cấp): trong trường hợp này sẽ có một lớp kế thừa được
tạo ra từ một lớp kế thừa khác.
4. Hierarchical Inheritance (Kế thừa phân cấp): đây là trường hợp sẽ có nhiều lớp con được kế
thừa từ một lớp cha duy nhất.
5. Hybrid Inheritance (Kế thừa lai): hay còn được gọi là Kế thừa ảo (Virtual Inheritance). Đây
là trường hợp kế thừa được kết hợp bởi nhiều hơn một loại kế thừa, chẳng hạn như kết hợp
Đơn kế thừa với Đa kế thừa.
Cú pháp
class <tên lớp con> : <tên lớp cha>
{
}
Trong đó:
• class là từ khoá để khai báo lớp.
• <tên lớp con> là tên do người dùng đặt và tuân theo các quy tắc đặt tên (quy tắc đặt tên đã
trình bày trong bài BIẾN TRONG C#).
• <tên lớp cha> là tên lớp mà ta muốn kế thừa các đặc tính của nó.

13. Tính trừu tượng trong OOP là gì?

Tính trừu tượng trong lập trình hướng đối tượng là chỉ nêu ra vấn đề mà không hiển thị cụ thể, chỉ
hiện thị tính năng thiết yếu đối với đối tượng người dùng mà không nói quy trình hoạt động. Ví dụ:
như tạo ra tính năng gửi tin nhắn, ta chỉ cần hiểu là người dùng viết tin rồi nhấn gửi đi. Còn quy trình
xử lý tin nhắn gửi như thế nào thì ta chưa đề cập đến.

Như vậy, tính trừu tượng là che giấu thông tin thực hiện từ người dùng, họ chỉ biết tính năng được
cung cấp: Chỉ biết thông tin đối tượng thay vì cách nó sử dụng như thế nào. Nó có những ưu điểm sau:

• Cho phép lập trình viên bỏ qua những phức tạp trong đối tượng mà chỉ đưa ra những khái niệm
phương thức và thuộc tính cần thiết. Ta sẽ dựa những khái niệm đó để viết ra, nâng cấp và bảo
trì.
• Nó giúp ta tập trung cái cốt lõi đối tượng. Giúp người dùng không quên bản chất đối tượng đó
làm gì.

14. Tính đa hình (từ khóa new, virtual….)

- Phương thức ảo là phương thức được định nghĩa ở lớp cơ sở (lớp cha) mà các lớp dẫn xuất (lớp con)
muốn sử dụng phải định nghĩa lại. Virtual là từ khoá dùng để khai báo 1 phương thức ảo (phương thức
ảo là phương thức có thể ghi đè được).
- Cú pháp:

virtual <kiểu DL> <tên P.Thức>([tham số])

Phương thức khởi tạo không được là phương thức ảo nhưng phương thức hủy bỏ có thể là phương thức
ảo. Dùng phương thức ảo chậm hơn phương thức thông thường vì khi thực hiện mới được xác định cụ
thể.

15. Cách kết nối CSDL

// Hàm Kết Nối

function connect()

// Nếu chưa kết nối thì thực hiện kết nối

if (!$this->__conn){

// Kết nối

$this->__conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Lỗi kết nối');

// Xử lý truy vấn UTF8 để tránh lỗi font

mysqli_query($this->__conn, "SET character_set_results = 'utf8', character_set_client = 'utf8',


character_set_database = 'utf8', character_set_server = 'utf8'");

--------

1// Hàm Ngắt Kết Nối

2function dis_connect(){
3 // Nếu đang kết nối thì ngắt

4 if ($this->__conn){

5 mysqli_close($this->__conn);

6 }

7}

16. Để thực thi câu lệnh truy vấn ta sử dụng lệnh nào (Vd: cmd.ExecuteReader())

ExecuteNonQuery(): chuyên để thực thi các truy vấn không trả về dữ liệu (INSERT,

UPDATE, DELETE).

ExecuteScalar(): thực thi các truy vấn trả lại MỘT giá trị duy nhất, thường là kết quả của

truy vấn Aggregate (SELECT COUNT|MIN|MAX|AVG).

ExecuteReader(): thực thi các truy vấn trả lại TẬP HỢP giá trị, như các truy vấn SELECT thông
thường.

17. Để thực thi câu lệnh truy vấn Select

Trình tự xử lý của câu lệnh SELECT


Câu lệnh SELECT dùng để lấy các hàng từ cơ sở dữ liệu và cho phép lựa chọn một hoặc nhiều hàng
hoặc cột từ một hoặc nhiều bảng. Cú pháp đầy đủ của câu lệnh SELECT rất phức tạp, nhưng các mệnh
đề chính có thể được tóm tắt như sau:
[ WITH { [ XMLNAMESPACES ,] [ <common_table_expression> ] } ]

SELECT select_list [ INTO new_table ]

[ FROM table_source ] [ WHERE search_condition ]

[ GROUP BY group_by_expression ]
[ HAVING search_condition ]

[ ORDER BY order_expression [ ASC | DESC ] ]


Các toán tử UNION, EXCEPT, INTERSECT có thể được sử dụng giữa các truy vấn để kết hợp hoặc
so sánh kết quả của chúng thành một tập kết quả.
Các bước sau đây cho thấy thứ tự xử lý logic hoặc thứ tự ràng buộc cho câu lệnh SELECT. Thứ tự này
xác định trong bước một được cung cấp cho các mệnh đề trong các bước tiếp theo. Việc thực thi câu
lệnh sẽ theo trình tự dưới đây:
1. FROM
2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. WITH CUBE or WITH ROLLUP
7. HAVING
8. SELECT
9. DISTINCT
10. ORDER BY
11. TOP
Trong một số trường hợp, thì trình tự trên đây có thể có sự thay đổi, song đây là những trường hợp không
phổ biến và ít khi gặp phải.
1. FROM
Mệnh đề FROM trong SQL được dùng để liệt kê các bảng cần thiết sử dụng trong truy vấn. Chính vì
vậy khi thực hiện SELECT thì nó phải biết SELECT từ đâu, nên đương nhiên FROM nó sẽ phải chạy
trước để xác định được những bảng cần dùng đến.
Cú pháp:
FROM table1
[ { INNER JOIN
| LEFT OUTER JOIN
| RIGHT OUTER JOIN
| FULL OUTER JOIN } table2
ON table1.column1 = table2.column1 ]
2. ON
Như ở trên ta thấy ON đi kèm với FROM, mục đích là để xác định điều kiện ràng buộc giữa 2 bảng với
nhau, nó sẽ match dữ liệu ở 2 bảng theo điều kiện này, thường thực tế nó sẽ match các Id là chủ yếu.
3. JOIN
Mệnh đề JOIN được dùng để kết hợp các bản ghi từ hai hay nhiều bảng trong một Database. Các loại
JOIN gồm có: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, SELF JOIN, CARTESIAN.
Các bạn có thể search google về các loại này để tìm hiểu kỹ thêm nhé.
4. WHERE
Đây là mệnh đề được dùng để lọc kết quả bởi các điều kiện, kết quả trả về phải đáp ứng các điều kiện
trong mệnh đề này. Khi đã có các table đích để lấy dữ liệu, thì chắc hẳn mới đến mệnh đề WHERE để
lọc lại dữ liệu đó.
Cú pháp:
SELECT column1, column2, columnN
FROM table_name
WHERE [conditions]
5. GROUP BY
Mệnh đề GROUP BY được sử dụng để kết hợp với câu lệnh SELECT để sắp xếp dữ liệu giống nhau
thành các nhóm, nó tuân theo mệnh đề WHERE và đứng trước ORDER BY.
Cú pháp:
SELECT column1, column2
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2
ORDER BY column1, column2
6. WITH CUBE or WITH ROLLUP
Đây là mệnh đề mở rộng của GROUP BY, sử dụng để phát sinh các tổng trung gian từ các cột trong
GROUP BY. Ở đây bạn có thể tìm hiểu thêm hàm GROUPING khi sử dụng CUBE và ROLLUP. Vì thế
hiển nhiên nó sẽ chạy sau mệnh đề GROUP BY.
Ví dụ:
SELECT Id, ProductName, AVG(Price) as [AveragePrice]
FROM Product
GROUP BY Id, ProductName WITH ROLLUP;
7. HAVING
Mệnh đề này cho phép bạn khả năng để xác định các điều kiện để lọc nhóm kết quả nào sẽ xuất hiện
trong kết quả cuối cùng.
Cú pháp:
SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2
8. SELECT
Dùng để lấy kết quả từ một hay nhiều bảng. Sau khi các truy vấn thực hiện đến các bảng cần sử dụng,
các điều kiện lấy giữ liệu, nhóm các dữ liệu, thì SELECT sẽ quyết định lấy về những thông tin nào (các
cột) trong những bảng nào.
Ví dụ:
SELECT b.Id, b.Name, t.TypeName

FROM Books b INNER JOIN Type t ON b.TypeId = t.Id


Ví trụ trên SELECT sẽ lấy ra các thông tin từ bảng Books là: Id, Name và thông tin từ bảng Type là:
TypeName
SELECT sẽ kết hợp với các mệnh đề khác để trở thành một câu truy vấn hoàn chỉnh, tuỳ thuộc vào yêu
cầu lấy dữ liệu như thế nào.
9. DISTINCT
Mệnh đề Distinct được dùng kết hợp với SELECT để loại bỏ các bản ghi trùng lặp, chỉ lấy một bản ghi
duy nhất trong kết quả trả về.
Ví dụ:
SELECT DISTINCT b.Id, b.Name, b.Price, t.TypeName
FROM Books b INNER JOIN Type t ON b.TypeId = t.Id
Mục đích sử dụng của nó như trên, nên hiển nhiên nó phải chạy sau SELECT rồi, phải SELECT ra được
data thì mới có data để mà xét trùng đúng không?
10. ORDER BY
Mệnh đề này dùng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc giảm dần dựa trên một hoặc nhiều cột.
Lệnh ASC được sử dụng để sắp xếp tăng giần, còn lệnh DESC được sử dụng để sắp xếp theo giảm dần.
Mặc định ASC nếu không chỉ rõ.
Cú pháp:
SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
Khi có đủ dữ liệu trả về thì đúng theo như yêu cầu đặt ra, khi đó chúng ta mới sắp xếp lại trật tự của
chúng.
11. TOP
Mệnh đề dùng để lấy ra N bản ghi hoặc X phần trăm bản ghi từ kết quả trả về.
Cú pháp:
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE [condition]

B. PHẦN THỰC HÀNH

1. Xem một số ví dụ về bài Animal

2. Xem một số ví dụ về lớp SinhVien kế thừa lớp Người.

3. Xem một số ví dụ về lớp NhanVienBC, NhanVienHD kế thừa lớp NhanVien.

4. Xem lại các ví dụ và bài tập thực hành để phát hiện lỗi trong chương trình.

Một số câu hỏi lý thuyết :

1. Từ khóa nào sau đây dùng để khai báo cho việc sử dụng không gian tên trong C#?

C# đưa ra từ khóa using để khai báokhông gian tên cho việc sử dụng các định danh, kiểu dữ liệu định
nghĩa thuộc không gian têntrong chương trình:
using KhôngGianTên;
Thay vì sử dụng lệnh using, có thể sử dụng dấu chấm truy cập namespace.
Ví dụ: using System;
cho phép ta sử dụng Console.WriteLine() thay cho System.Console.WriteLine()
Ví dụ: using Demo1;
cho phép ta truy cập Example1.Show1() thay cho Demo1.Example1.Show1();
using cũng có thể cung cấp một không gian tên bí danh
Ví dụ:using Utils = Company.Application.Utilities;

2. Định nghĩa về tính bao đóng (encapsulation) trong lập trình hướng đối tượng là:

Tính bao đóng - Data encapsulation là một kỹ thuật bao đóng dữ liệu, và các hàm mà sử dụng chúng
và trừu tượng hóa dữ liệu là một kỹ thuật chỉ trưng bày tới các Interface và ẩn Implementation Detail
(chi tiết trình triển khai) tới người sử dụng.

3. Chọn đáp án đúng khi nói về ưu điểm của lập trình hướng đối tượng:

Ưu điểm của lập trình hướng đối tượng OOP


• OOP mô hình hóa những thứ phức tạp dưới dạng cấu trúc đơn giản.
• Code OOP có thể sử dụng lại, giúp tiết kiệm tài nguyên.
• Giúp sửa lỗi dễ dàng hơn. So với việc tìm lỗi ở nhiều vị trí trong code thì tìm lỗi trong
các lớp (được cấu trúc từ trước) đơn giản và ít mất thời gian hơn.
• Có tính bảo mật cao, bảo vệ thông tin thông qua đóng gói.
• Dễ mở rộng dự án.

4. Đối tượng là gì?

Đối tượng
Một đối tượng bao gồm 2 thông tin: thuộc tính và phương thức.
• Thuộc tính chính là những thông tin, đặc điểm của đối tượng. Ví dụ: con người có các đặc
tính như mắt, mũi, tay, chân…
• Phương thức là những thao tác, hành động mà đối tượng đó có thể thực hiện. Ví dụ: một
người sẽ có thể thực hiện hành động nói, đi, ăn, uống, . . .

5. Trong một lớp thường có các thành phần

lớp (class) smartphone gồm 2 thành phần:

• Thuộc tính: màu sắc, bộ nhớ, hệ điều hành…


• Phương thức: gọi điện, chụp ảnh, nhắn tin, ghi âm…
6. Thành phần protected của lớp là thành phần như thế nào?

Lớp ProtectedDerived kế thừa protected từ lớp Base. Khi đó, lớp ProtectedDerived sẽ có:

prot, pub và getPVT() là thành phần protected. pvt không thể truy cập được. Hàm getPVT() không thể
được sử dụng bên ngoài lớp ProtectedDerived. Trong ví dụ trên là không thể sử dụng trong hàm
main() bởi các đối tượng của lớp ProtectedDerived được.

Đó cũng là lý do cần tạo hàm getPub() để truy cập biến pub trong lớp ProtectedDerived.

8. Trong thừa kế, lớp cha có thuật ngữ tiếng Anh là gì?

=> superclass

9. Hãy chọn câu trả lời đúng về thừa kế?

Tính kế thừa cho phép xây dựng một lớp mới dựa trên các định nghĩa của lớp đã có. Có nghĩa là lớp
cha có thể chia sẽ dữ liệu và phương thức cho các lớp con. Các lớp con khỏi phải định nghĩa lại, ngoài
ra có thể mở rộng các thành phần kế thừa và bổ sung thêm các thành phần mới. Tái sử dụng mã nguồn
1 cách tối ưu, tận dụng được mã nguồn.

B
1. 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
2. Bắt buộc 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.
C
3. C++ ,C,Pascal là ngôn ngữ lập trình cấu trúc.
4. Các dạng kế thừa là: Private, Public, Protected
5. 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
6. Các lớp có thể kế thừa từ lớp điện thoại: đth cố định, di động, IG ,Iphone. Tất cả phương án
7. Các phương thức cơ bản của lớp xe hơi là: Đáp án: Khởi động, di chuyển, rẽ phải, rẽ trái, lùi
sau.
8. Các phương thức cơ bản của một chiếc máy giặt là: Cấp nước, đảo trộn, xả nước, vắt khô
9. 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; Kế thừa lớp cha quá nhiều lần.
10. 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; Kế thừa lớp cha quá nhiều lần. Đáp án: Cả
(1) và (2)
11. Cách khai báo kế thừa trong java sử dụng từ khóa: extends
12. Cách khai báo phương thức ảo: Giống khai báo phương thức thường nhưng đứng đầu là từ khoá
virtual;
13. Cần In danh sách thí sinh dự thi gồm các thông tin: SBD, Họ và tên, Ngày sinh, Giới tính, Phòng
thi, Giờ thi. Người ta xây dựng hai lớp đối tượng là lớp đối tượng Thí sinh, lớp đối tượng Danh sách
thí sinh theo phòng. Phương thức cần thiết theo yêu cầu của bài toán cần phải xây dựng cho lớp thí
sinh là: Đáp án: Phương thức hiển thị thông tin từng thí sinh
14. Cần In danh sách thí sinh dự thi gồm các thông tin: SBD, Họ và tên, Ngày sinh, Giới tính, Phòng
thi, Giờ thi. Người ta xây dựng hai lớp đối tượng là lớp đối tượng Thí sinh, lớp đối tượng Danh sách
thí sinh theo phòng. Phương thức cần thiết theo yêu cầu của bài toán cần phải xây dựng cho lớp
danh sách thí sinh là: Đáp án: Phương thức hiển thị danh sách thí sinh
15. Cần In danh sách thí sinh dự thi theo phòng gồm các thông tin: SBD, Họ và tên, Ngày sinh, Giới
tính, Phòng thi, Giờ thi. Người ta xây dựng hai lớp đối tượng là lớp đối tượng Thí sinh, lớp đối
tượng Danh sách thí sinh theo phòng. Thuộc tính của lớp Danh sách thí sinh có thể là: Đáp án: Số
thí sinh, mảng các thí sinh
16. Cần In danh sách thí sinh dự thi theo phòng gồm các thông tin: SBD, Họ và tên, Ngày sinh, Giới
tính, Phòng thi, Giờ thi. Người ta xây dựng hai lớp đối tượng là lớp đối tượng Thí sinh, lớp đối
tượng Danh sách thí sinh theo phòng. Thuộc tính của lớp thí sinh là: Đáp án: SBD, Họ và tên,
Ngày sinh, giới tình, phòng thi, giờ thi
17. 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.
18. Cấu trúc thông thường của lớp trong C#: khia báo các trường dữ liệu cần dùng, khai báo các thuộc
tính và các phường thức thiết lập, lấy giá trị của thuộc tính, khai báo và xây dựng các phương thức
của lớp.
19. Cho biết các ví dụ sau ví dụ chứng tỏ tính kế thừa: Hình bình hành và hình chữ nhật /// Giáo viên
và Giáo viên giỏi///Điểm và Hình tròn/// Xe đạp và Xe đạp đua. Tất cả đều đúng
20. Cho biết cách khai báo phương thức ảo trong C++ nào sau đây là đúng: Virual
void[kiểu_dữ_liệu] Tên_phương_thức ([các tham đối]);
21. Cho biết khẳng định đúng nhất trong các khẳng định sau: Đáp án : Một lớp A có thể là bạn của
nhiều lớp
22. Cho đoạn chương trình sau: class A { private int x,y; } Hãy giải thích ý nghĩa của khai báo
này: 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.
23. Cho khai báo sau:int trituyetdoi(int a); //tri tuyệt đối số nguyênlong trituyetdoi (long a); //tính trị
tuyệt đối số nguyên dàidouble trituyetdoi(double a); //tính trị tuyệt đối số thực dàiHãy cho biết các
khai báo trên là tính chất nào?Tính chất chồng hàm
24. 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.
25. 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.
26. 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ỗi không thể xác định được.
27. 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: Trùng tên giữa phương thức các lớp cha
28. 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 vì vậy cần phải:Khai báo A là lớp cơ sở ảo đối với B và C.
29. 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 lớp B,C
30. Cho lớp Dathuc, để thực hiện khai báo sau mà không bị 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
31. 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:dịch chuyển,thiết lập
tọa độ.
32. Cho lớp đường thẳng tạo bởi 2 điểm A, B. Quan hệ giữa lớp đường thẳng và lớp điểm
là: Đường thẳng là lớp bao của lớp điểm.
33. 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.
34. Chọn các phương án đúng cho mệnh đề “ Trong các phương thức của lớp dẫn xuất, có thể truy nhập
trực tiếp tới:” Đáp án: Cả (1) và (2)
35. Chọn các phương án đúng cho mệnh đề “ Trong các phương thức của lớp dẫn xuất, có thể
truy nhập trực tiếp tới:” Các thuộc tính trong chính phương thức đó (1); Các thuộc tính mới khai báo
trong lớp dẫn xuất (2)
36. 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.
37. Chọn câu đúng: Ngôn ngữ C++,Java là ngôn ngữ lập trình hướng đối tượng.
38. Chọn câu sai: Ngôn ngữ Pascal là ngôn ngữ lập trình hướng đối tượng
39. Chọn phát biểu đúng trong các phát biểu sau: Một lớp (sau khi định nghĩa) có thể xem như
một kiểu đối tượng và có thể dùng để khai báo các biến, mảng đối tượng.
40. Chọn phát biểu đúng về phương thức: 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.
41. Chọn phương án tương ứng với phát biểu sai: Hàm destructor có thể là một hàm ảo
42. Chồng hàm: khả năng các hàm có thể trùng tên nhau nư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.
43. class A là bạn của class B, class B là bạn của class C thì: class B có thể truy xuất đến các
thành viên private của class C
44. Class A là bạn của class B, class B là bạn của class C thì: Đáp án : class B có thể truy xuất đến
các thành viên private của class C
D
45. Đa hình xảy ra khi các phương thức của lớp con: Duy trì cùng kiểu trả về và các tham số như lớp
cha, nhưng cách thực hiện khác nhau.
46. Đặ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.
47. Đặ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, tish đa hình, tính trừu
tượng.
48. Đặ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, đa hình, kế thừa, trừa
tượng.
49. DANH SÁCH THÍ SINH xây dựng 2 lớp đối tượng: lớp đối tượng thí sinh và đối tượng danh sách
thí sinh theo phòng. Thuộc tính của lớp Danh sách thí sinh có thể là : số thí sinh, mảng các thí sinh.
50. Để đư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.
51. Để khai báo thành viên tĩnh trong C++ và Java đều dùng từ khóa static. Sự nhận định các phương
thức tĩnh trong C++ và trong Java là: Đáp án: Cả (1) và (2)
52. Để 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
53. Để 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 thuộc tính là: Tải_trọng, Loại_động_cơ, Biến_số
54. Để 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
55. Để 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<<D1.KC2D(D2);
56. Điều này thể hiện tính: Đa hình
57. Đoạn khai báo thuộc tính của lớp đa thức( với hệ số là một mảng số thực) là: Class
Dathuc{private:int bac;float *hs;};
58. Đối tượng là: Một thực thể cụ thể trong thế giới thực
59. Đối tượng: một thực thể cụ thể trong thế giới thực.
H
60. Hàm bạn là: Là hàm của lớp được phép truy cập đến thành phần private của lớp.
61. Hàm hủy có : Một loại.
62. Hàm HỦY dùng để hủy(giải phóng) bộ nhớ cho các thành phần thuộc tính bên trong lớp.
63. 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.
64. Hàm HỦY trong ngôn ngữ C++ có cú pháp: ~Tên lớp{//Nội dung}.
65. Hàm mà bất kỳ lớp nào cũng có là: Contructor
66. Hàm SAO CHÉP: là hàm thành viên của lớp, dùng để tạo 1 đố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.
67. 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.
68. 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.
69. Hàm tạo trong ngôn ngữ C++:Có tên trufngg với tên lớp, xây dựng bên trong hoặc bên ngoài lớp,
có đối hoặc không đối,tự động được gọi tới khi khai báo đối tượng của lớp.
70. Hàm thành viên (phương thức) của lớp là: 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.
71. Hàm thành viên (phương thức) của lớp là:tất cả các hàm (trả về giá trị hoặc 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.
72. Hàm thành viên của lớp khác hàm thông thường: 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.
73. 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.
74. 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ố.
75. 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
76. Hãy chọn phát biểu sai: Có hai loại hàm huỷ có đối và không đối.Khai báo các phương thức trong
lớp cơ sở trừu tượng phải: Tất cả đều đúng (Các phương thức không được định nghĩa nội dung
; 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;)
K
77. Khai báo phương thức ảo: Giống khai báo phương thức thường nhưng đứng đầu là từ khoá virtual;
78. 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.
79. Khi khai báo các thành phần thuộc tính của lớp trong C# đầu mỗi câu lệnh khai báo ta thường khai
báo: Phạm vi của thuộc tính là private hau public hya protected.
80. 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.
81. 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 : class
82. 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: CLASS
83. 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,PROTECTED,PUBLIC thí mặc định sẽ là:PRIVATE.
84. 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 public,
private và protected thì mặc định sẽ là private.
85. Khi khai báo và xây dựng 1 lớp ta cần 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.
86. 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
87. Khi khai báo và xây dựng một lớp ta 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
88. Khi khai báo và xây dựng thành công các lớp đối tượng, để truy cập vào thành phần của lớp t phải:
truy cập thông qua tên lớp hay tên đối tượng của lớp.
89. 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.
90. 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 hoặc tên đối tượng của lớp.
91. 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.
92. Khi khai báo, xây dựng lớp các thành phần được đặt trong phạm vi Protected nhằm mục đích:
Cho phép kế thừa nhưng không cho phép tương tác trực tiếp từ bên ngoài lớp.
93. Khi khai báo, xây dựng lớp các thành phần được đặt trong phạm vi PROTECTED nhằm mục đích:
cho phép kế thừa nhưng không cho phép tương tác trực tiếp từ bên ngoài lớp.
94. Khi khai báo, xây dựng lớp các thuộc tính của thường được khai báo trong phạm vi Private, điều
này thể hiện tính: BAO GÓI
95. Khi nạp chồng các hàm thì điều kiện khác nhau giữa các hàm sẽ là: Kiểu dữ liệu trả về của
hàm or Kiểu dữ liệu của tham số truyền vào của hàm or Số lượng tham số truyền vào các hàm
96. 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
97. Khi xây dựng lớp đối tượng công việc cần làm: Xác định thành phần thuộc tính và phương thức của
lớp đó, xác định kiểu dữ liệu của(thuộc tính, kiểu trả về của phương thức), Xác định thành phần
private, public, protected là gì.
98. 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
99. 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
100. Khi xây dựng nạp chồng các hàm thì điều kiện khác nhau giữa các hàm là: kiểu dữ liệu trả
về của hàm hoặc kiểu dữ liệu tham số truyền vào của hàm hoặc số lượng tham số truyền vào
của hàm là khác nhau. Điều kiện này chỉ áp dụng khi: Các hàm cùng được xây dựng trong 1
chương trình or Các hàm này cùng được xây dựng trong một lớp Đáp án: (1) hoặc (2)
L
101. 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.
102. 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.
103. 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.
104. Lập trình hướng đối tượng: dữ liệu hay các hàm mới có thể được thêm vào khi cần,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 được truy xuất từ các hàm bên ngoài,
nhấn mạnh trên dữ liệu hơn là thủ tục.
105. Lời gọi hàm tạo: 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
106. Lời gọ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>
107. Lời gọi phương thức ảo là: Gọi như phương thức thông thường.
108. Lời gọi phương thức ảo: Gọi như phương thức thông thường.
109. Lời gọi tới hàm thành viên của lớp : TÊN ĐỐI TƯỢNG.TÊN HÀM THÀNH VIÊN
110. 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.
111. LỚP BAO là lớp: có thành phần thuộc tính là lớp đối tượng của lớp khác.
112. Lớp cơ sở trừu tượng 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.
113. 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.
114. Lớp đối tượng là một thiết kế hay mẫu cho các đối tượng cùng kiểu
115. 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
116. Mỗi đối tượng sau khi khai báo sẽ được cấp phát một vùng nhớ riêng để chứa các thuộc tính của
chúng
117. Mối quan hệ giua lớp Môn học và 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
118. Mối quan hệ giữa lớp Người và lớp SinhViên: Lớp người là lớp cơ sở cho lớp Sinhvien.
119. Một lớp có thể có bao nhiêu lớp cơ sở ảo? Nhiều
120. Một lớp có thể có tối đa: Vô số phương thức ảo.
121. Một lớp có thể có tối đa: Vô số phương thức ảo.
122. Một lớp có thể: là lớp bạn của vô số lớp, là lớp dẫn xuất của vô số lớp, là lớp cơ sở của vô số lớp.
123. Một người cần xây dựng lớp Thời gian (Timer) trong máy tính cần hiển thị thông tin như sau:
giờ:phút:giây. Vậy các thuộc tính cần xây dựng cho lớp Timer là: Giờ, Phút, Giây.
124. 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: Đối tượng
từ đó xây dựng các lớp đối tượng tương ứng.
125. 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:
Các đối tượng từ đó xây dựng các lớp đối tượng tương ứng.
N
126. Người ta cần quản lý cần quản lý các thông tin về công dân để xác định xem hai công dân bất kỳ có
thể kết hôn được với nhau hay không. Biết rằng điều kiện kết hôn là: là công dân từ 18 tuổi trở nên,
có tình trạng kết hôn là độc thân, hai công dân kết hôn không cùng giới tính, đồng thời phải lưu lại
các thông tin của người kết hôn. Các lớp cần thuộc tính cần xây dựng cho hai lớp đối tượng của bài
toán trên là: Đáp án : Lớp đối tượng cần xây dựng là Lớp Công dân; Các thuộc tính là : họ và
tên, ngày sinh, giới tính, tình trạng hôn nhân;
127. Người ta cần quản lý cần quản lý các thông tin về công dân để xác định xem hai công dân
bất kỳ có thể kết hôn được với nhau hay không. Biết rằng điều kiện kết hôn là: là công dân từ 18
tuổi trở nên, có tình trạng kết hôn là độc thân, hai công dân kết hôn không cùng giới tính, đồng
thời phải lưu lại các thông tin của người kết hôn. Các lớp cần thuộc tính cần xây dựng cho hai lớp
đối tượng của bài toán trên là: Lớp đối tượng cần xây dựng là Lớp Công dân; Các thuộc tính là: họ
và tên, ngày sinh, giới tính, tình trạng hôn nhân;
128. Người ta cần quản lý thông tin của công dân để triệu gọi nhập ngũ khi đến thời điểm, biết
rằng điều kiện nhập ngũ là nam giới từ 18 tuổi trở lên không đang theo học tại bất kỳ trường
đại học, cao đẳng nào. Phân tích đầu bài cho thấy, cần phải xây dựng: Lớp công dân
O
129. OOP là viết tắt của: object oriented Programming
P
130. 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.
131. Phương pháp lập trình cấu trúc: phương pháo lập trình với việc cấu trúc hóa dữ liệu và cấu trúc hóa
phương trình để tránh các lệnh nhảy.
132. Phương pháp lập trình Module: 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
133. Phương pháp lập trình tuần tự: phương pháp lập trình với cách liệt kê các lệnh kế tiếp
134. Phương pháp trừu tượng hóa : 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.
135. Phương thức cơ bản của lớp xe hơi: Khởi động , di chuyển, rẻ phải, rẻ trái, lùi sau.
136. Phương thức cơ bản của máy giặt: Cấp nước, đảo trộn, xả nước, vắt khô.
137. Phương thức liên quan tới những thứ mà đối tượng có thể làm. Một phương thức đáp ứng 1 chức
năng tác động lên dữ liệu của đối tượng.
S
138. 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à: Kiểu dữ liệu trừu tượng.
139. Sự đóng gói: Encapsulation
140. Sự thừa kế:Inheritance.
141. Sự trừu tượng:Abtraction
T
142. 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.
143. Tại chương trình chính chỉ có thể: truy cập đến thành phần public.
144. 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.
145. 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.
146. 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.
147. 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
nhưng cho phép lớp kế thừa truy xuất tới.
148. 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
nhưng cho phép lớp kế thừa truy xuất tới.
149. Thành phần protected của lớp thành phần là: không cho phép truy xuất từ lớp bên ngoài của lớp
nhưng cho phép lớp kế thừa truy xuất tới.
150. Thành phần PUBLIC của lớp là thành phần : cho phép truy xuất từ bên trong và ngoài lớp và cho
phép kế thừa.
151. Thành phần public của lớp là thành phần: Cho phép truy xuất từ bên trong và ngoài lớp và cho
phép kế thừa.
152. Thành viên tĩnh của lớp là: (Cả 3 đều đúng. 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.)
153. 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 +
Được cấp phát bộ nhớ ngay cả khi lớp chưa có đối tượng cụ thể nào + 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.
154. Thông thường khi xây dựng lớp trong C#, với mỗi khai báo thuộc tính của lớp ta đều xây
dựng thêm hai phương thức set và get dùng để: Thiết lập và lấy giá trị của thuộc tính đó.
155. Thong thường tỏng khi xây dựng lớp: Hai phương thức SET va GET dùng để: thiết lập và lấy giá
trị của thuộc tính đó.
156. Thuộc tính của lớp có thể có kiểu của chính lớp đó.
157. Thuộc tính của lớp là: dữ liệu trình bày các đặc điểm của đối tượng
158. Thuộc tính của lớp người: chân , tay, mắt, mũi, tên , ngày sinh.
159. Thuộc tính của lớp sinh viên: Họ và tên, ngày sinh, giới tính,địa chỉ, số CMND,quê quán, lớp
học,khóa học, khoa quản lý.
160. Thuộc tính của lớp thí sinh: SBD, Họ và tên, ngày sinh, giơi tính, phòng thi, giờ thi.
161. Thuộc tính của lớp: là dữ liệu trình bày các đặc điểm của đối tượng.
162. Tính bao đóng (đóng gói) - Encapsulations 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, che giấu và tránh được các tác động từ bên ngoài. Thể thống nhất này
gọi là đối tượng.
163. Tính bao đóng(tính đóng gói)-Encapsulation: Cơ chế ràng buộc dữ liệu và thao tác dữ liệu trên đó
thành 1 thể thống nhất, che dấu và tránh được các tác động từ bên ngoài.Thể thống nhất này được
gọi là đối tượng.
164. Tính bao gói: : Encapsulation- Cơ chế ràng buộc dữ liệu và thao tác trên dư liệu đó thành 1 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 là đối tượng.
165. 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.
166. 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.
167. 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.
168. 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.
169. 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.
170. 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.
171. 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.(Ex: Các lớp điểm, hình tròn vuông hcn…đều có phương thức vẽ)
172. 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.
173. Tính đa hình: polymorohism
174. Tính kế thừa: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ở.
175. Trong 1 chương trình có thể xây dựng tối đa bao nhiêu lớp: VÔ SỐ tùy theo bộ nhớ.
176. Trong các phương án sau, phương án nào mô tả đối tượng: Đồng hồ - Máy tính - Xe đạp - Quả
cam.
177. Trong các ví dụ sau, ví dụ nào chứng tỏ tính kế thừa? Tất cả đều đúng.
178. Trong đa kế thừa có thể kế thừa tối đa: Vố số lớp tùy theo bộ nhớ.
179. Trong kế thừa có thể kế thừa tối đa: Vố số mức tùy theo bộ nhớ.
180. 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.
181. 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ỷ.
182. 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 thể kế thừa: Hàm tạo, toán tử gán
183. 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.
184. Trong kế thừa. Lớp cha có thuật ngữ tiếng Anh là:. Base Class.
185. Trong kế thừa. Lớp mới có thuật ngữ tiếng Anh là: Derived Class.
186. 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à:SỰ CHỒNG HÀM.
187. Trong lơp kế thừa, lớp cha có thuật ngữ tiếng anh là: Base Class
188. Trong lơp kế thừa, lớp mới có thuật ngữ tiếng anh là:Derivede Class
189. Trong lớp Phân số khai báo: Phanso(int ts=0,int ms=1): Hàm tạo có tham số mặc định của lớp
Phanso
190. Trong một chương trình có thể xây dựng tối đa bao nhiêu lớp: Nhiều lớp tuỳ theo bộ nhớ
191. Trong một lớp có thể: Duy nhất một hàm hủy.
192. 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.
193. Trong một lớp có thể:Duy nhất một hàm hủy.
194. Trong phương án sau, phương án nào mô tả tính đa hình:➔ 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ẽ.
195. Trường đại học BUH in giấy báo nhập học vào mỗi kì tuyển sinh, uel cũng in giấy báo nhập
học,…tuy nhiên 2 giấy báo nhập học này lại 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
196. Trường Đại học Ngân hàng In giấy báo nhập học vào mỗi kỳ tuyển sinh, Trường đại học Kinh tế
TPHCM cũng In giấy báo nhập học, trường đại học Bách Khoa TPHCM 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, điều
này thể hiện tính: Đa hình
197. Từ khoá nào sau đây được dùng khi lớp con muốn cài đặt lại phương thức được thừa kế từ lớp cha
: new
V
198. Vào mỗi kì thi người ta lập ra danh sách 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 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.
199. 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
200. Ví dụ thể hiện sự kế thừa: Lớp điểm và lớp điểm màu, Lớp Điểm và Hình tròn, Lớp oto và lớp xe,
Lớp người và Giáo Viên.
X
201. 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);
202. Xây dựng lớp điểm trong hệ tọa độ Oxyz các thuộc tính của lớp là: tung độ, hoành độ, cao độ.
203. Xây dựng lớp hình chữ nhật tạo bởi hai cạnh a, b. Để khai báo hàm tạo với tham số mặc định
ta khai báo: Hinhchunhat(float a=1, float b=1);
204. 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: Đáp án: Đa hình
205. Xây dựng lớp trong C#, thông thương với mỗi khai báo thuộc tính của lớp ta đều xây dựng thêm
hai phương thức set và get dùng để: Thiết lập và lấy giá trị của thuộc tính đó.
206. Xem xét bài toán nhập vào danh sách sinh viên gồm n sinh viên với những thông tin: Họ và tên,
Ngày sinh, Giới tính, Địa chỉ, Lớp và hiển thị thông tin theo ngày sinh tăng dần. Các lớp đối tượng
cần xây dựng cho bài toán gồm: Đáp án : Lớp Sinh viên và lớp danh sách sinh viên
207. Xem xét bài toán nhập vào danh sách sinh viên gồm n sinh viên với những thông tin: Họ và tên,
Ngày sinh, Giới tính, Địa chỉ, Lớp và hiển thị thông tin theo ngày sinh tăng dần. Các lớp đối tượng
cần xây dựng cho bài toán gồm Lớp Sinh viên và lớp danh sách sinh viên. Các thuộc tính của lớp
danh sách sinh viên là: Đáp án : Số sinh viên (n), mảng đối tượng Sinh viên.
208. Xem xét bài toán nhập vào danh sách sinh viên gồm n sinh viên với những thông tin: Họ và tên,
Ngày sinh (dd/mm/yyyy), Giới tính, Địa chỉ, Lớp và hiển thị thông tin theo ngày sinh tăng dần. Nếu
bài toán yêu cầu xây dựng trong C++, các lớp đối tượng cần xây dựng cho bài toán gồm Lớp Sinh
viên và lớp danh sách sinh viên. Các thuộc tính của lớp danh sách sinh viên là: Đáp án : Ngày
tháng, Số sinh viên (n), mảng đối tượng Sinh viên.
209. Xem xét bài toán nhập vào danh sách sinh viên gồm n sinh viên với những thông tin: Họ
và tên, Ngày sinh, Giới tính, Địa chỉ, Lớp và hiển thị thông tin theo ngày sinh tăng dần. Các lớp
đối tượng cần xây dựng cho bài toán gồm: Lớp Sinh viên và lớp danh sách sinh viên
210. Xem xét bài toán nhập vào danh sách sinh viên gồm n sinh viên với những thông tin: Họ
và tên, Ngày sinh, Giới tính, Địa chỉ, Lớp và hiển thị thông tin theo ngày sinh tăng dần. Các lớp
đối tượng cần xây dựng cho bài toán gồm Lớp Sinh viên và lớp danh sách sinh viên. Các thuộc
tính của lớp danh sách sinh viên là: Số sinh viên (n), mảng đối tượng Sinh viên.
211. Xem xét bài toán nhập vào danh sách sinh viên gồm n sinh viên với những thông tin: Họ
và tên, Ngày sinh (dd/mm/yyyy), Giới tính, Địa chỉ, Lớp và hiển thị thông tin theo ngày sinh tăng
dần. Nếu bài toán yêu cầu xây dựng trong C++, các lớp đối tượng cần xây dựng cho bài toán gồm
Lớp Sinh viên và lớp danh sách sinh viên. Các thuộc tính của lớp danh sách sinh viên là: Ngày
tháng, Số sinh viên (n), mảng đối tượng Sinh viên.

You might also like