Java: Trừu tượng (Abstract) và Đa hình (Polymorphism)


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
package baihoc.truutuongvadahinh;

abstract class Animal{
  int id;
  String name;
  float age;

  abstract void move(); //khai báo phương thc tru tượng
}

class Cat extends Animal{
  @Override
  void move() {
    System.out.println("Run");
  }
}

class Bird extends Animal{
  @Override
  void move() {
    System.out.println("Fly");
  }
}

class Fish extends Animal{

  @Override
  void move() {
    System.out.println("Swim");
  }
}

class Calculate{
  double add(float a,float b){
    return a+b;
  }

  double add(float a,float b,float c){
    return a+b+c;
  }
}

public class TruuTuongVaDaHinh {
  //Tru tượng (Abstract): Dùng cho phương thc (hành vi) trong trường hp phương thc hay hành vi
  //đó không hoc khó c th hóa được.
  //Thay vì đnh nghĩa phương thc (hành vi) thì ta khai báo nó s dng t khóa abstract.
  //Khi đó lp cha phương thc tru tượng cũng phi là lp tru tượng, nghĩa là cũng phi dùng
  //t khóa abstract cho lp đó.
  //Lp tru tượng thì không có đi tượng tương ng, nói cách khác không to được đi tượng t  //lp tru tượng.
  //Lưu ý: Lp tru tượng cha được c phương thc tru tượng và phương thc không tru tượng.
  //Lp tru tượng cho phép các lp khác tha kế, nhưng phi thc thi (c th hóa) các phương
  //thc tru tượng ca lp tru tượng.
  //Ví d:
  //Đa hình (Polymorphism): Là k thut cho phép mt đi tượng có th th hin  nhiu dng khác
  //nhau, mt hành vi có th được th hin  nhiu kiu khác nhau.
  //Ví d:
  public static void main(String[] args) {
    double d=30;
    float f=40;
    int i=50;
//    d=f;
//    d=i;
//    f=d;//error
//    i=d;//error
    Animal ani=new Cat();//To 1 đi tượng Cat ri gán cho biến có kiu Animal
    Cat cat=new Cat();
  }
}
» Tiếp: Interface
« Trước: Chữa bài tập 1 phần thừa kế
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!