You are on page 1of 3

Câu 1. (2.

0 điểm)
a) Trình bày về tính kế thừa? Cho ví dụ minh họa?
b) Cho biết sự khác nhau giữa phạm vi truy cập private và protected?
c) Cho biết sự khác nhau phương thức tĩnh (static) và phương thức thường trong lớp
đối tượng và trong quan hệ kế thừa?
Câu 2. (2.0 điểm) Cho biết kết quả hoặc lỗi của chương trình sau và giải thích?

class Account { class CheckingAccount extends Account {


protected double balance; // số dư trong tài private double serviceFee; // phí dịch vụ
khoản
public CheckingAccount(double balance,
public Account(double balance) { double serviceFee) {
this.balance = balance; super(balance);
} this.serviceFee = serviceFee;
}
public void calculateInterest() {
System.out.println("Tính tiền lãi của tài public void calculateInterest() {
khoản"); System.out.println("Không tính tiền lãi
} cho tài khoản thanh toán");
} }

class SavingAccount extends Account { public void deductFee() {


private double interestRate; // lãi suất balance -= serviceFee;
System.out.println("Phí dịch vụ đã được
public SavingAccount(double balance, khấu trừ từ tài khoản thanh toán");
double interestRate) { }
super(balance); }
this.interestRate = interestRate;
} public class Main {
public static void main(String[] args) {
public void calculateInterest() { Account account1 = new
double interest = balance * interestRate; SavingAccount(10000, 0.05);
System.out.println("Tiền lãi của tài Account account2 = new
khoản tiết kiệm: " + interest); CheckingAccount(5000, 10);
}
} account1.calculateInterest();
account2.calculateInterest();

account1.balance -= 1000;
account2.balance += 1000;

((CheckingAccount)
account2).deductFee();
}
}
Câu 3. (2.0 điểm) Cho biết kết quả hoặc lỗi trong các khai báo sau, giải thích và nêu
cách khắc phục?
public class Person { public class Main {
private String name;
public static void main(String[] args) {
public String getName() {
return name; Person myObj = new Person();

} myObj.name = "John";

System.out.println(myObj.name);
public void setName(String newName) {
this.name = newName; }
}
}
}

Câu 4. (4.0 điểm)

Khoa CNTT – ĐH Mở cần quản lý việc thanh toán tiền lương cho các cán bộ giá viên
trong khoa. Để quản lý được, khoa cần các thông tin sau:

Với mỗi cán bộ giáo viên có các thông tin sau: lương cứng, lương thưởng, tiền phạt,
lương thực lĩnh, và các thông tin cá nhân: Họ tên, tuổi, quê quán, mã số giáo viên.

Yêu cầu 1: Xây dựng lớp Nguoi để quản lý các thông tin cá nhân của mỗi giáo viên.

Yêu cầu 2: Xây dựng lớp CBGV để quản lý các thông tin của các cán bộ giáo viên.

Yêu cầu 3: Xây dựng các phương thức thêm, xoá các cán bộ giáo viên theo mã số
giáo viên.

Yêu cầu 4: Tính lương thực lĩnh cho giáo viên: Lương thực = Lương cứng + lương
thưởng – lương phạt.

a) Thiết kế sơ đồ lớp giải quyết các yêu cầu trên.


b) Viết các đoạn mã hiện thực các yêu cầu này.
==
HẾT
==

You might also like