Kỹ thuật lập trình hướng đối tượng - IT07 (208)
Cho đoạn mã sau:
class Test{
public static void main(String args[]){
Holder h = new Holder();
h.held = 100;
h.bump ;
System.out.println(h.held);
}
}
class Holder{
public int held;
public void bump(Holder theHolder){
theHolder.held++;
}
}
Giá trị in ra của câu lệnh ở dòng thứ 6 là:
Từ khóa nào xác định lớp ta đang định nghĩa lớp kế thừa từ lớp khác?
A. extends
B. public
C. abstract
D. final
Cho biết kết quả khi thực thi đoạn code sau biết giá trị của x là 2:
switch (x) {
case 1:
System.out.println(1);
case 2:
case 3:
System.out.println(3);
case 4:
System.out.println(4);
}
A. Xuất ra màn hình 3
B. Các giá trị 1,3,4 được xuất ra.
C. Các giá trị 3 và 4 được xuất ra.
D. Không in ra gì cả.
Ta sử dụng toán tử nào để truy xuất thuộc tính và phương thức của đối tượng trong java?
A. Toán tử “->”
B. Toán tử “.”
C. Toán tử “&”
D. Toán tử “|”
Từ vùng nhớ dành cho các thuộc tính của đối tượng được cấp phát ở đâu?
A. Trên stack
B. Trên heap
Kết quả khi thực hiện đoạn mã sau là gì?
public class HCN {
int x, y;
public HCN( int xx, int yy)
{
x = xx; y = yy;
}
int dientich( ) { return x * y; }
public static void main(String arg[])
{
HCN x = new HCN( 4, 5 );
System.out.print(“Ket qua:” + x.dientich( ));
}
}
A. 18
B. Ket qua: 20
C. 9
D. Không in gì lên màn hình
Kết quả khi thực hiện đoạn mã sau là gì?
public class HCN {
int x, y;
public HCN( int xx, int yy)
{
x = xx; y = yy;
}
int chuvi( ) { return (x + y) * 2; }
public static void main(String arg[])
{
HCN x = new HCN( 4, 5 );
System.out.print(“Ket qua:” + x.chuvi( ));
}
}
A. Không in gì lên màn hình
B. 18
C. 20
D. 9
Đâu là đoạn mã xây dựng lớp HCN với yêu cầu sau:
- thuộc tính: x, y
- phương thức: khởi tạo có tham số, khởi tạo không có tham số, tính diện tích, tính chu vi
A. public class HCN { int x, y; HCN( ) { x=0; y=0; } HCN(int xx, int yy) { x = xx; y = yy; } int dientich( ) { return x * y; } int chuvi( ) { return (x+y)*2; } }
B. public class HCN { int x, y; HCN(int xx, int yy) { x = xx; y = yy; } int dientich( ) { return x * y; } int chuvi( ) { return (x+y)*2; } }
C. public class HCN { int x, y; int dientich( ) { return x * y; } int chuvi( ) { return (x+y)*2; } }
D. public class HCN { int x, y; HCN( ) { x=0; y=0; } HCN(int xx, int yy) { x = xx; y = yy; } }
Cho class được khai báo như sau:
public class Test {
public static void test() {
print();
}
public static void print() {
System.out.println("Test");
}
public void print() {
System.out.println("Another Test");
}
}
Cho biết kết quả khi biên dịch class này:
A. Có lỗi vì có hai phương thức print giống nhau.
B. Bị lỗi vì lý do khác.
C. Biên dịch thành công.
D. Có warning vì không có main method.
Trong các ngôn ngữ lập trình: C++, Assembly, Pascal, SmallTalk thì các ngôn ngữ nào là thuần hướng đối tượng giống Java?
A. Ngôn ngữ Assembly
B. Ngôn ngữ Pascal
C. Ngôn ngữ SmallTalk
D. Ngôn ngữ C++
Tính chất (đặc trưng) nào trong lập trình hướng đối tượng nhằm che đi những chi tiết phức tạp bên trong của đối tượng?
A. Tính đóng gói
B. Tính che giấu thông tin
C. Tính đa hình
D. Tính kế thừa
Ngôn ngữ nào sau đây không phải ngôn ngữ lập trình hướng đối tượng?
A. C#
B. C++
C. Pascal
D. java
Tính chất (đặc trưng) nào trong lập trình hướng đối tượng đề cập đến thiết lập cơ chế về khả năng truy xuất xử lý đến các thành phần của lớp đó hay được gọi là phạm vi tác động (scope)?
A. Tính đa hình
B. Tính che giấu thông tin
C. Tính đóng gói
D. Tính kế thừa
Cách viết lệnh nào là đúng khi gọi thực thi một phương thức có tham số của đối tượng?
A. Các_tham_số.Đối_tượng.phương_thức()
B. Đối_tượng.phương_thức(các_tham_số)
C. Đối_tượng.các_tham_số.phương_thức()
D. Phương_thức.đối_tượng(các_tham_số)
Một thông điệp (messages) bao gồm các thành phần nào?
A. Đối tượng (Object), phương thức (Method), tham số (Parameter)
B. Phương thức (Method), hàm (function) tự do trong chương trình.
C. Đối tượng (Object), phương thức (Method), thuộc tính (Property)
D. Thuộc tính (Property), tham số (Parameter), phương thức (Method)
Phương pháp phân tích hướng đối tượng là phương pháp phân tích:
A. Từ dưới lên (bottom-up)
B. Tất cả các phương án đều sai
C. Từ trên xuống (top-down)
D. Từ trên xuống (top-down) hoặc từ dưới lên (bottom-up)
Cho lớp đối tượng CAR (ô tô) với các thành phần: Tên xe, số chỗ ngồi, khởi động, tốc độ tối đa. Hãy chỉ ra đâu là phương thức của lớp CAR?
A. Số chỗ ngồi
B. Khởi động
C. Tốc độ tối đa
D. Tên xe
Nếu các lớp đối tượng có chung một số đặc điểm và được xem như có quan hệ “là” (is a) với lớp đối tượng khác thì các lớp này có đặc trưng gì trong các đặc trưng cơ bản của lập trình hướng đối tượng?
A. Tính che giấu thông tin
B. Tính đa hình
C. Tính kế thừa
D. Tính đóng gói
Java được phát triển bắt đầu từ?
A. Microsoft
B. Intel
C. Oracle
D. Sun Microsystem
Chọn phát biểu sai trong các phát biểu dưới đây:
A. Java là ngôn ngữ lập trình thuần hướng đối tượng.
B. Java áp dụng cơ chế bộ nhớ động cho mọi đối tượng trong chương trình.
C. Ứng dụng Java độc lập với môi trường thực hiện.
D. Ứng dụng Java chỉ thực thi được trên các máy tính cá nhân.