Đặt vấn đề: Một trung tâm đào tạo lập trình viên yêu cầu một ứng
dụng quản lý sinh viên của trung tâm, là lập trình viên bạn được yêu cầu lập
trình các thực thể cơ bản trong ứng dụng đó. Một trong số những thực thể đó là
sinh viên, bạn phải viết một lớp các đối tượng sinh viên lấy tên là Student,
mỗi một đối tượng sinh viên đều có những đặc điểm sau:
- Có thuộc tính mã số sinh viên
- Có thuộc tính giới tính
- Có thuộc tính họ và tên
- Có tính năng in ra màn hình console thông tin cơ bản
của sinh viên.
- Có khả năng thay đổi các thông tin thuộc tính thông
qua các phương thức get/set.
Giải pháp
tham khảo:
/**
* Write a description of class Student
here.
*
* @author (your name)
* @version (a version number or a
date)
*/
public class Student
{
/**
* Khai bao cac truong dung de luu
gia tri cua cac thuoc tinh trong lop
*/
private int id;
private String name;
private boolean gender;
/**
* Constructor khong co doi so
*/
public Student()
{
// To do:
this.id=-1;
this.name="noname";
this.gender=true;
}
/**
* Constructor co doi so
*/
public Student(int id,String name,boolean gender) {
this.id=id;
this.name=name;
this.gender=gender;
}
public int getId() {
return this.id;
}
public void setId(int value) {
this.id=value;
}
public String getName() {
return this.name;
}
public void setName(String value) {
this.name=value;
}
public boolean isMale() {
return this.gender;
}
public void setMale(boolean value) {
this.gender=value;
}
public void printInfo() {
System.out.println("-----------------------------------");
System.out.println("| ID | Name | Male |");
System.out.printf("| %d | %s | %b |\n",this.id,this.name,this.gender);
}
}
Sử dụng lớp vừa khai báo để viết một chương trình java với kịch bản như sau:
- Khai báo 2 đối tượng sinh viên A và B.
- Khởi tạo hai đối tượng sinh viên A và sinh viên B.
- In ra màn hình thông tin của sinh viên A.
- Thay đổi tên của sinh viên B.
- In thông tin của sinh viên B trước và sau khi thay đổi tên.
/**
* Write a description of class Client here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Client {
public static void demoStudent() {
Student studentA;
Student studentB;
studentA=new Student();
studentB=new Student(1,"Nguyen Van A",true);
studentB.printInfo();
studentB.setName("Nguyen Van B");
studentB.printInfo();
}
}
Câu hỏi:
- Các
Constructor dùng để làm gì?
- Các thuộc
tính dùng để làm gì?
- Các phương
thức setter/getter dùng để làm gì?
- Trình bày
vòng đời của một đối tượng?
- Phân biệt đối
tượng và đối tượng tham chiếu?
Bài tập tương tự
Viết một lớp các đối tượng mô tả loại dữ liệu nhiệt độ
lấy tên là Temperature. Các thông số mô tả cho nhiệt độ gồm:
- Trị số tính theo đơn vị độ C (giá trị nhỏ nhất -273
độ)
- Có tính năng chuyển đổi từ độ C sang độ F.
- Có tính năng chuyển đổi từ độ C sang độ Kenvin.
Sử dụng lớp vừa định nghĩa để xây dựng một chương
trình Java với kịch bản như sau:
- Khởi tạo một đối tượng Temperature.
- Gán giá trị độ C cho đối tượng ở nhiệt độ 25 độ.
- Hiển thị ra màn hình nhiệt độ F và độ Kenvin tương
ứng.
Đăng nhận xét