Kênh Tên Miền chuyên cung cấp tên miền đẹp, giá rẻ! Hãy liên hệ kỹ thuật: 0914205579 - Kinh doanh: 0912191357 để được tư vấn, hướng dẫn miễn phí, Cảm ơn quý khách đã ủng hộ trong thời gian qua!
kiem tien, kiem tien online, kiem tien truc tuyen, kiem tien tren mang
Friday, August 12, 2016

Ví dụ về kế thừa trong lập trình hướng đối tượng
Bài toán quản lý tiền lương: Viết project Java theo mô hình kế thừa sau



Trong đó:
+ Nhân viên Văn phòng (NVVP)
    lương = hệ số lương * LCB + phụ cấp
    (phụ cấp = 1*LCB nếu số năm công tác <10; phụ cấp = 1.2*LCB nếu số năm công tác >=10)

+ Nhân viên Kinh doanh (NVKD)
   lương = LCB + thưởng
  (thưởng = doanh thu * phần trăm hoa hồng)

+ Công nhân (CN)
   lương = hệ số lương * LCB + thưởng
   (thưởng = 1*LCB nếu sản lường <1000; thưởng = 1.5*LCB nếu sản lượng >=1000)

[Code Java]

 /* ********** Class NV ****************/
  * http://lap-trinh-may-tinh.blogspot.com/
 */
package quanlyluongnv181113;

public class NV {
    String maNV,ht,dvct;
    int ns,sonct;
    final float LCB=1050000;
 
    // khoi tao
    public NV(String maNV,String ht, String dvct, int ns, int sonct){
        this.maNV=maNV;
        this.ht=ht;
        this.dvct=dvct;
        this.ns=ns;
        this.sonct=sonct;
    }
    // In thong tin
    void InTT(){
        System.out.print(" ******************** ");
        System.out.print("\n IN THONG TIN NHAN VIEN  ");
        System.out.print("\n - Ma nhan vien: "+maNV);
        System.out.print("\n - Ho ten: "+ht);
        System.out.print("\n - Don vi cong tac: "+dvct);
        System.out.print("\n - Nam sinh: "+ns);
        System.out.print("\n - So nam cong tac: "+sonct);
    }  
}

/*********  Class NVVP*****************/
/*
 * http://lap-trinh-may-tinh.blogspot.com/
 */
package quanlyluongnv181113;


public class NVVP extends NV{
    float hsl; // he so luong  
    // khoi tao
    public NVVP(String maNV,String ht, String dvct, int ns, int sonct,float hsl){
        super(maNV,ht,dvct,ns,sonct);
        this.hsl=hsl;
    }
    // tinh luong
    float TinhLuong(){
        float luong,pc;
        if (sonct>=10)
            pc=1.2f*LCB;
        else
            pc=LCB;
        luong= hsl*LCB+pc;
        return luong;
    }
    // in thong tin
    void InTT(){
        super.InTT();
        System.out.print("\n - Luong: "+TinhLuong());
    }
}

/********  Class NVKD *****************/
/*
 * http://lap-trinh-may-tinh.blogspot.com/
 */
package quanlyluongnv181113;


public class NVKD extends NV {
    float dthu; // doanh thu
    float pthh; // phan tram hoa hong
    // khoi tao
    public NVKD(String maNV,String ht, String dvct, int ns, int sonct,float dthu,float pthh){
        super(maNV,ht,dvct,ns,sonct);
        this.dthu=dthu;
        this.pthh=pthh;
    }
    // tinh luong
    float TinhLuong(){
        float luong;
        luong= LCB+dthu*pthh;
        return luong;
    }
    // in thong tin
    void InTT(){
        super.InTT();
        System.out.print("\n - Luong: "+TinhLuong());
    }
}

/*********  Class CN *******************/
/*
 * http://lap-trinh-may-tinh.blogspot.com/
 */
package quanlyluongnv181113;

public class CN extends NV{
        float hsl; // he so luong
        int sanLuong;// san luong
    // khoi tao
    public CN(String maNV,String ht, String dvct, int ns, int sonct,float hsl,int sanLuong){
        super(maNV,ht,dvct,ns,sonct);
        this.hsl=hsl;
        this.sanLuong=sanLuong;
    }
    // tinh luong
    float TinhLuong(){
        float luong,thuong;
        if (sanLuong>=1000)
            thuong=1.5f*LCB;
        else
            thuong=LCB;
        luong= hsl*LCB+thuong;
        return luong;
    }
    // in thong tin
    void InTT(){
        super.InTT();
        System.out.print("\n - Luong: "+TinhLuong());
    }
}

/*********  Class (main) ****************/
/*
 * http://lap-trinh-may-tinh.blogspot.com/
 */
package quanlyluongnv181113;
import java.util.Scanner;

public class QuanLyLuongNV181113 {
    public static void main(String[] args) {
     
           String maNV,ht,dvct;
           int ns,sonct,sanLuong;
           float hsl,pthh,dthu;
         
           Scanner in1=new Scanner(System.in);
           Scanner in2=new Scanner(System.in);
         
         try{
           // Nhap thong tin cho Nhan vien VP
           System.out.print("\n ********************* ");
           System.out.print("\n NHAP THONG TIN NHAN VIEN VAN PHONG");
           System.out.print("\n + Ma Nhan vien: ");
           maNV=in1.nextLine();
           System.out.print("\n + Ho ten: ");
           ht=in1.nextLine();
           System.out.print("\n + Don vi cong tac: ");
           dvct=in1.nextLine();
           System.out.print("\n + Nam sinh: ");
           ns=in2.nextInt();
           System.out.print("\n + So nam congt tac: ");
           sonct=in2.nextInt();
           System.out.print("\n + He so luong: ");
           hsl=in2.nextFloat();
         
           NVVP t=new NVVP(maNV,ht,dvct,ns,sonct,hsl);
           t.InTT();
           }
           catch(Exception e){
               System.out.print("\n Xay ra loi khi nhap du lieu! Loi "+e.toString());
           }
         
            // Nhap thong tin cho Nhan vien kinh doanh
        try{
           System.out.print("\n ********************* ");
           System.out.print("\n NHAP THONG TIN NHAN VIEN KINH DOANH");
           System.out.print("\n + Ma Nhan vien: ");
           maNV=in1.nextLine();
           System.out.print("\n + Ho ten: ");
           ht=in1.nextLine();
           System.out.print("\n + Don vi cong tac: ");
           dvct=in1.nextLine();
           System.out.print("\n + Nam sinh: ");
           ns=in2.nextInt();
           System.out.print("\n + So nam congt tac: ");
           sonct=in2.nextInt();
           System.out.print("\n + Doanh thu: ");
           dthu=in2.nextInt();
           System.out.print("\n + Phan tram (%) hoa hong: ");
           pthh=in2.nextInt();
         
           NVKD t1=new NVKD(maNV,ht,dvct,ns,sonct,dthu,pthh);
           t1.InTT();
           }
           catch(Exception e){
               System.out.print("\n Xay ra loi khi nhap du lieu! Loi "+e.toString());
           }
         
             // Nhap thong tin cho Cong Nhan
         try{
           System.out.print("\n ********************* ");
           System.out.print("\n NHAP THONG TIN CONG NHAN");
           System.out.print("\n + Ma Nhan vien: ");
           maNV=in1.nextLine();
           System.out.print("\n + Ho ten: ");
           ht=in1.nextLine();
           System.out.print("\n + Don vi cong tac: ");
           dvct=in1.nextLine();
           System.out.print("\n + Nam sinh: ");
           ns=in2.nextInt();
           System.out.print("\n + So nam congt tac: ");
           sonct=in2.nextInt();
           System.out.print("\n + He so luong: ");
           hsl=in2.nextFloat();
           System.out.print("\n + San luong: ");
           sanLuong=in2.nextInt();
         
           CN t3=new CN(maNV,ht,dvct,ns,sonct,hsl,sanLuong);
           t3.InTT();
         }
           catch(Exception e){
               System.out.print("\n Xay ra loi khi nhap du lieu! Loi "+e.toString());
           }
         
     
    }
}



----------


Cùng bạn tự học CNTT - tailieucntt.org

0 comments:

Post a Comment

Popular Posts