Bài Tổng Hợp Project Hàng Hoá
Bài Kham Khảo
a) Class Hàng Hóa
/*
*Code by: Hoàng Minh Tuấn
*Edit Code: Vy Nguyễn
*/
package Bai4;
import java.util.*;
public abstract class HangHoa {
protected String Code, Name;
protected float GiaBan;
protected String getCode() {
return Code;
}
protected void setCode(String code) {
Code = code;
}
protected String getName() {
return Name;
}
protected void setName(String name) {
Name = name;
}
protected float getGiaBan() {
return GiaBan;
}
protected void setGiaBan(float giaBan) {
GiaBan = giaBan;
}
public HangHoa() {
super();
}
public HangHoa(String name, String code, float giaban) {
super();
this.setName(name);
this.setCode(code);
this.setGiaBan(giaban);
}
public abstract float Price();
public void inPutKeyBoard() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhập Tên Sản Phẩm: ");
String name = sc.nextLine(); this.setName(name);
// Cách nhập khác nha: this.setName(sc.nextLine()); cũng giống như trên đều set giá trị
System.out.print("Nhập Mã Sản Phẩm: ");
String code = sc.nextLine(); this.setCode(code);
System.out.print("Nhập Giá Bán: ");
float gia = sc.nextFloat(); this.setGiaBan(gia);
}
public String outPutDisPlay() {
return "\n======== Xuất =========" + "\nTên Sản Phẩm: " + this.getName() + "\nMã Sản Phẩm: " + this.getCode() + "\nGía Bán: " + this.getGiaBan() + " VND";
}
}
b) Class Hàng Thường
/*
*Code by: Hoàng Minh Tuấn
*Edit Code: Vy Nguyễn
*/
package Bai4;
import java.util.*;
public class HangThuong extends HangHoa{
private float VAT;
public float getVAT() {
return VAT;
}
public void setVAT(float vAT) {
VAT = vAT;
}
public HangThuong() {
super();
}
public HangThuong(String name, String code, float gia, float vat) {
super(name,code,gia);
this.setVAT(vat);
}
public void inPutKeyBoard() {
super.inPutKeyBoard();
Scanner sc = new Scanner(System.in);
System.out.print("Nhập VAT Hàng Thường: ");
float vat = sc.nextFloat(); this.setVAT(vat);
}
public float Price() {
return this.getGiaBan() + this.getGiaBan() * this.getVAT();
}
public void outPutDisPlays() {
System.out.println(super.outPutDisPlay() + "\nGía VAT Hàng Thường: " + this.getVAT() + "\nGiá Sản Phẩm: " + this.Price() + " VND");
}
}
c) Class Hàng Khuyến Mãi
/*
*Code by: Hoàng Minh Tuấn
*Edit Code: Vy Nguyễn
*/
package Bai4;
import java.util.*;
public class HangKhuyenMai extends HangHoa{
private float SoTienGiam;
public float getSoTienGiam() {
return SoTienGiam;
}
public void setSoTienGiam(float soTienGiam) {
SoTienGiam = soTienGiam;
}
public HangKhuyenMai() {
super();
}
public HangKhuyenMai(String name, String code, float gia, float tiengiam) {
super(name,code,gia);
this.setSoTienGiam(tiengiam);
}
public void inPut() {
super.inPutKeyBoard();
Scanner sc = new Scanner(System.in);
System.out.print("Số Tiền Được Giảm: ");
float giam = sc.nextFloat(); this.setSoTienGiam(giam);
}
public float Price() {
return this.GiaBan - this.getSoTienGiam();
}
public void outPutDS() {
System.out.println(super.outPutDisPlay() + "\nSố Tiền Được Giảm: " + this.getSoTienGiam() + "\nGiá Bán Sản Phẩm: " + this.Price() + " VND");
}
}
d) Class Danh Sách Hàng
/*
*Code By Vy Nguyễn
*/
package Bai4;
public class ListHangHoa2 {
private int coutList = 0, coutthuong = 0, coutkm = 0;
HangHoa[] hanghoa1 = new HangHoa[100];
HangThuong[] hangthuong = new HangThuong[100];
HangKhuyenMai[] khuyenmai = new HangKhuyenMai[100];
public void list() {
for(int i=0; i<100; i++) {
hanghoa1[i] = new HangHoa() {
@Override
public float Price() {
// TODO Auto-generated method stub
return 0;
}
};
// hangthuong[i] = new HangThuong();
// khuyenmai[i] = new HangKhuyenMai();
}
}
public void kiemTra(int key) {
if(coutList > 100) System.out.println("Không thể nhập dữ liệu");
else {
if(key == 1) {
hanghoa1[coutList] = new HangThuong();
hangthuong[coutthuong] = new HangThuong();
hangthuong[coutthuong].inPutKeyBoard();
hanghoa1[coutList] = hangthuong[coutthuong];
coutthuong++;
}
else if(key == 2) {
hanghoa1[coutList] = new HangKhuyenMai();
khuyenmai[coutkm] = new HangKhuyenMai();
khuyenmai[coutkm].inPut();
hanghoa1[coutList] = khuyenmai[coutkm];
coutkm++;
}
coutList++;
}
}
public void XuatDisPlay(int key) {
if(key == 3) {
for(int i=0; i<coutthuong; i++)
hangthuong[i].outPutDisPlays();
}
else if(key == 4) {
for(int i=0; i<coutkm; i++)
khuyenmai[i].outPutDS();
}
}
}
e) Main Test
/*
*Code By Vy Nguyễn
*/
package Bai4;
import java.util.Scanner;
public class TestHangHoa {
public static void main(String[] args) {
ListHangHoa2 h1 = new ListHangHoa2();
Scanner sc = new Scanner(System.in);
int luachon;
do {
System.out.println(" =============================== MENU ============================\n");
System.out.println("|| 0. Thoát ||");
System.out.println("|| 1. Hàng Thường ||");
System.out.println("|| 2. Hàng Khuyến Mãi ||");
System.out.println("|| 3. Xuất Danh Sách Hàng Thường ||");
System.out.println("|| 4. Xuất Danh Sách Hàng Khuyến Mãi ||");
System.out.println(" ==================================================================");
System.out.print("Bạn Chọn: "); luachon = sc.nextInt();
switch(luachon) {
case 1: h1.kiemTra(luachon); break;
case 2: h1.kiemTra(luachon); break;
case 3: h1.XuatDisPlay(luachon); break;
case 4: h1.XuatDisPlay(luachon); break;
}
}while(luachon != 0);
}
}
f) Giải Thích Code
* Dùng Protected vì đảm bảo tính bảo mật chỉ con mới có thể truye cập được
* Code này chưa tối giản được nó còn sai tui chưa biết sửa để nủa ông tuấn code lại
tui sửa tiếp
* Mấy cái còn lại thì quen thuộc với mọi người rồi
(mà nhớ trong constructor của con thì nhớ để super() là được ^_^)
* Vì sao lại phải dùng tùm lum mảng vậy, vì mình cần xuất ra thông tin và
giá bán sản phẩm mà nhiều sản phẩm thì dùng mảng vậy thôi
No Comment to " Bài Tổng Hợp Project Hàng Hoá "