BÀI TẬP THỰC HÀNH STEP BY STEP
Ví dụ các bước tạo lớp Student như sau
Bước 1: Mở Eclipe lên và tạo dự án mới đặt tên (ví dụ: demo-oop)
Bước 2: tạo class mới đặt tên là Student
Bước 3: Khai báo thuộc tính và các phương thức như sau
package oop;
public class Student {
// khai báo các thuộc tính của sinh viên gồm
private int ma;
private String name;
private boolean gender;
private int age;
public Student() {
// TODO Auto-generated constructor stub
System.out.println("phương thức khởi tạo không tham số");
}
public Student(int ma, String name, boolean gender, int age) {
super();
System.out.println("phương thức khởi tạo có tham số");
this.ma = ma;
this.name = name;
this.gender = gender;
this.age = age;
}
public int getMa() {
return ma;
}
public void setMa(int ma) {
this.ma = ma;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean getGender() {
return gender;
}
public void setGender(boolean gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void showInfo() {
System.out.println("THÔNG TIN SINHV IÊN");
System.out.println("- Mã: " + ma);
System.out.println("- Họ tên: " + name);
System.out.println("- Tuổi: " + age);
System.out.println("- Gới tính " + (gender == true ? "Nam" : "Nữ"));
}
}
Bước 4: Tạo một lớp khác để khở tạo đối tượng từ lớp Student
Đặt tên lớp này là TestStudent và có hàm main để khởi chạy
Nội dung như saupackage oop;
public class TestStudent {
public static void main(String[] args) {
// // Cách 1: khởi tạo đối tượng không truyền giá trị
Student huy = new Student();
// sau đó gán giá trị cho từng thuộc tính thông qua các Setter
huy.setMa(12); // gán giá trị cho thuộc tính ma
huy.setName("Gia Huy"); // gán giá trị cho thuộc tính name
huy.setAge(24); // gán giá trị cho thuộc tính age
huy.setGender(true); // gán giá trị cho thuộc tính gender
// Cách 2: khởi tạo đối tượng không truyền giá trị
// gán giá trị thuộc tính thông qua phương thức khởi tạo
Student hien = new Student(1, "Thui Hiền", false, 23);
// gọi hàm showInfo() đã cài đặt sẵn trong lớp Student
huy.showInfo();
hien.showInfo();
// hoặc có thể in từng giá trị của thuộc tính thông qua các Getter
System.out.println("Xin chào bạn: " + huy.getName());
}
}
** Bước 5: chạy và xem thử kết quả***
phương thức khởi tạo không tham số phương thức khởi tạo có tham số THÔNG TIN SINHV IÊN – Mã: 12 – Họ tên: Gia Huy – Tuổi: 24 – Gới tính Nam THÔNG TIN SINHV IÊN – Mã: 1 – Họ tên: Thui Hiền – Tuổi: 23 – Gới tính Nữ Xin chào bạn: Gia Huy
Nhập dữ liệu cho đối tượng
Cách 1: Khởi tạo đối tượng và thực hiện nhập thông qua Scanner như bình thường
Tạo class đặt tên là DemoNhapDuLieuDoiTuong
package oop;
import java.util.Scanner;
public class DemoNhapDuLieuDoiTuong {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
Student student = new Student();
System.out.print("Nhập mã: ");
int ma = Integer.parseInt(sc.nextLine());
student.setMa(ma);
System.out.print("Nhập tên: ");
student.setName(sc.nextLine());
System.out.print("Nhập tuổi: ");
int tuoi = Integer.parseInt(sc.nextLine());
student.setAge(tuoi);
System.out.print("Nhập giới tính: ");
boolean gender = Boolean.parseBoolean(sc.nextLine());
student.setGender(gender);
student.showInfo();
}
}
Chạy và xem kết quả
Cách 2: Khai báo phương thức nhapDuLieu
trong lớp Student
Mở lại lớp Student và cập nhật code
package oop;
import java.util.Scanner;
public class Student {
// khai báo các thuộc tính của sinh viên gồm
private int ma;
private String name;
private boolean gender;
private int age;
public Student() {
// TODO Auto-generated constructor stub
System.out.println("phương thức khởi tạo không tham số");
}
public Student(int ma, String name, boolean gender, int age) {
super();
System.out.println("phương thức khởi tạo có tham số");
this.ma = ma;
this.name = name;
this.gender = gender;
this.age = age;
}
public int getMa() {
return ma;
}
public void setMa(int ma) {
this.ma = ma;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean getGender() {
return gender;
}
public void setGender(boolean gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void showInfo() {
System.out.println("THÔNG TIN SINHV IÊN");
System.out.println("- Mã: " + ma);
System.out.println("- Họ tên: " + name);
System.out.println("- Tuổi: " + age);
System.out.println("- Gới tính " + (gender == true ? "Nam" : "Nữ"));
}
public void nhapDuLieu() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập mã: ");
ma = Integer.parseInt(sc.nextLine());
System.out.print("Nhập tên: ");
name = sc.nextLine();
System.out.print("Nhập tuổi: ");
age = Integer.parseInt(sc.nextLine());
System.out.print("Nhập giới tính: ");
gender = Boolean.parseBoolean(sc.nextLine());
}
}
Sau đó tạo một class khác để test ví dụ DemoPhuongThucNhap
package oop;
public class DemoPhuongThucNhap {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student student = new Student();
student.nhapDuLieu(); // gọi phương thức nhapDuLieu() trong class Student
student.showInfo(); // gọi phương thức showInfo() trong class Student
}
}
Chạy và xem kết quả
BÀI TẬP LÀM THÊM
Hãy tạo dự án java mới đặt tên thuc-hanh-oop
Khai báo các class sau
- class Category gồm có: int id, String name
- class Product gồm có: int id, String name, float price, int categoryId
Và khai báo các thành phần cần có của các lớp như
- Thuộc tính
- Phương thức khởi tạo
- Phương thức Getter, Setter###
- Khai báo thêm 2 phương thức sau
Phương thức public void input() để nhập thông tin của các dối tượng
phương thức public void display() để hiển thị thông tin của các dối tượng
Tạo class TestCategory để khởi tạo và nhập xuất theo Category
Tạo class TestProduct để khởi tạo và nhập xuất theo Product