Override and Extends

20:00

1. Class A có 2 thuộc tính:
              String tenNV;
              String diaChi;
và có 2 method input(); và showData();
- Có các phương thức get set cho từng thuộc tính.
- Có 2 constructor, một constructor không có tham số, và một constructor với hai tham số cho hai thuộc tính của lớp
- Các thành phần của lớp có thể được lớp khác thừa kế.
Note: - Phương thức final thì không được được thừa kế, và phương thức có từ khóa static củng vậy.
2. Class B extends class A
- Class B có thêm thuộc tính:  int SDT;
- Class B có override method input(); and showData(); trong đó sử dụng thêm properties int SDT;

Class A

package a;

import java.util.ArrayList;
import java.util.Scanner;

public class A {
 private String tenNV;
 private String diaChi;
 Scanner input = new Scanner(System.in);
 
 public A(){
  
 }

 public A(String tenNV, String diaChi){
  this.tenNV = tenNV;
  this.diaChi = diaChi;
 }
 
 public String getTenNV() {
  return tenNV;
 }
 public void setTenNV(String tenNV) {
  this.tenNV = tenNV;
 }
 public String getDiaChi() {
  return diaChi;
 }
 public void setDiaChi(String diaChi) {
  this.diaChi = diaChi;
 }

 public ArrayList<A> input(){
  ArrayList<A> alA = new ArrayList<A>();
 
  System.out.println("tenNV:");
  this.tenNV = input.nextLine();
  System.out.println("diaChi:");
  this.diaChi = input.nextLine();
  
  A a = new A(tenNV, diaChi);
  alA.add(a);
  
  return alA;
 }
 public void showData(ArrayList<A> alA){
  for(A a :alA){
   System.out.println(a.toString());
  }
 }
 public String toString(){
  return "tenNV" + this.tenNV + " diaChi: " + this.diaChi;
 }
}

Class B
package a;

import java.util.ArrayList;

public class B extends A {
 private int SDT;

 public int getSDT() {
  return SDT;
 }

 public void setSDT(int sDT) {
  SDT = sDT;
 }
 
 /**
  * 
  */
 public B() {
  
 }
 
 /**
  * @param sDT
  */
 public B(String tenNV, String diaChi,int sDT) {
  //lấy lại 2 thuộc tính của class cha để gán cho class B
  super(tenNV, diaChi);

  this.SDT = sDT;
 }
 
 public ArrayList<A> input(){
  //gọi lại method input của class cha
  super.input();
  
  System.out.println("SDT: ");
  int SDT = Integer.parseInt(input.nextLine());
  
  B b = new B(getTenNV(), getDiaChi(), SDT);
  
  ArrayList<A> alA = new ArrayList<A>();
  
  alA.add(b);
  return alA;
 }
 
 @Override
 public String toString(){
  return super.toString() + " SDT: " + this.SDT;
 }
 public void showData(ArrayList<A> alA){
         // in ra arrayList alA có kiểu dữ liệu A, đối tượng a của lớp A

         for(A a :alA){
   System.out.println(a.toString());
  }
 }
 public static void main(String[] args) {
  B b = new B();
  ArrayList<A> alb = new ArrayList<A>();
  b.showData(b.input());
 }
}

You Might Also Like

0 nhận xét

Popular Posts

Like us on Facebook

Flickr Images

Subscribe