Override and Extends
20:001. 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());
}
}
0 nhận xét