[Lập trình hướng đối tượng với Java] Ví dụ lớp trừu tượng (abstract class) [290916]
Xây dựng các class:
- Class NV (abstract)
+ Thuộc tính: Họ tên, địa chỉ, năm sinh, hệ số lương
+ Phương thức: Khởi tạo, nhập, tính lương (abstract), in thông tin
- Class LapTrinhVien kế thừa NV, bổ sung thêm
+ Thuộc tính: Số năm công tác
+ Phương thức: Tính lương
Trong đó: lương = hệ số lương * LCB + thưởng
(thưởng = 1,5 LCB nếu số năm công tác >10; ngược lại, thưởng = 1,0 LCB)
Xây dựng các class:
- Class NV (abstract)
+ Thuộc tính: Họ tên, địa chỉ, năm sinh, hệ số lương
+ Phương thức: Khởi tạo, nhập, tính lương (abstract), in thông tin
- Class LapTrinhVien kế thừa NV, bổ sung thêm
+ Thuộc tính: Số năm công tác
+ Phương thức: Tính lương
Trong đó: lương = hệ số lương * LCB + thưởng
(thưởng = 1,5 LCB nếu số năm công tác >10; ngược lại, thưởng = 1,0 LCB)
* Yêu cầu:
Nhập và in ra thông tin 01 nhân viên là lập trình viên
(họ tên, địa chỉ, năm sinh, lương)
------
Xây dựng Project như hình vẽ:
+ class NV
package vidu_loptruutuong_290916;
import java.util.Scanner;
public abstract class NV {
// thuoc tinh
final float LCB=1050000;
String hoTen, diaChi;
int namSinh;
float heSoLuong;
// Phuong thuc khoi tao
public NV(String hoTen, String diaChi, int namSinh, float heSoLuong){
this.hoTen=hoTen;
this.diaChi=diaChi;
this.namSinh=namSinh;
this.heSoLuong=heSoLuong;
}
// Phuong thuc nhap thong tin
public void NhapTT(){
Scanner inp=new Scanner(System.in);
System.out.println("\n * Nhap thong tin nhan vien: ");
System.out.print("\n + Ho ten: ");
hoTen=inp.nextLine();
System.out.print("\n + Dia chi: ");
diaChi=inp.nextLine();
System.out.print("\n + Nam sinh: ");
namSinh=inp.nextInt();
System.out.print("\n + He so luong: ");
heSoLuong=inp.nextFloat();
}
// Phuong thuc tinh luong (abstract)
public abstract float TinhLuong();
// In thong tin
public void InTT(){
System.out.print("\n * In thong tin nhan vien: ");
System.out.print("\n + Ho ten: "+hoTen);
System.out.print("\n + Dia chi: "+diaChi);
System.out.print("\n + Nam sinh: "+namSinh);
System.out.print("\n + He so luong: "+heSoLuong);
System.out.print("\n + Luong thang: "+TinhLuong());
}
}
+ class LapTrinhVien
package vidu_loptruutuong_290916;
import java.util.Scanner;
public class LapTrinhVien extends NV{
// thuoc tinh
int soNamCT;
// phuong thuc khoi tao
public LapTrinhVien(String hoTen, String diaChi, int namSinh, float heSoLuong,int soNamCT){
super(hoTen, diaChi, namSinh, heSoLuong);
this.soNamCT=soNamCT;
}
// phuong thuc nhap thong tin
public void NhapTT(){
super.NhapTT();
Scanner inp=new Scanner(System.in);
System.out.print("\n + So nam cont tac: ");
soNamCT=inp.nextInt();
}
// phuong thuc tinh luong
public float TinhLuong(){
float thuong;
if(soNamCT>10)
thuong=(float)1.5*LCB;
else thuong=LCB;
return (heSoLuong*LCB+thuong);
}
}
+ class ViDu_LopTruuTuong_290916
package vidu_loptruutuong_290916;
public class ViDu_LopTruuTuong_290916 {
public static void main(String[] args) {
// Khai bao doi tuong Lap trinh vien
LapTrinhVien bill =new LapTrinhVien("","",1,1,1);
bill.NhapTT();
bill.InTT();
}
}
Một số tài liệu và khoá học bổ ích dành cho bạn:
# Tài liệu: Lập trình hướng đối tượng JAVA core dành cho người mới bắt đầu học lập trình [Click để xem]
# Khoá học online: Lập trình Java trong 4 tuần [Click để xem]
----------