Wednesday, October 26, 2016
BÃ i 16 b Abstract class Interface implements trong java
BÃ i 16 b Abstract class Interface implements trong java
1.Abstract class
1.1.Khái ni?m
- Là 1 l?p tr?u t??ng
- Không dùng ?? t?o ra ??i t??ng mà ch? dùng làm c? s? cho l?p khác k? th?a
- Ngoài thu?c tính,ph??ng th?c bình th??ng,abstact class có thêm abstact method - ph??ng th?c tr?u t??ng
- Abstact method ko dùng ?? th?c hi?n 1 công vi?c nào mà,nó ch? là 1 khuôn m?u.
- Khi 1 class k? th?a Abstract class thì nó b?t bu?c ph?i override l?i Abstract method c?a Abstract class ?ó
2.Ví d?
T?o project Bai16 --> m?c ?inh trong netbean s? t?o class Bai16 là class ch?a hàm main c?a project
T?o 1 class bình th??ng bên ngoài class Bai16 là DemoAbstractClass v?i n?i dung nh? sau
PHP:
package Bai16;
public abstract class DemoAbstractClass {
abstract void InfoObject();
public void Description(){
}
}
PHP:
public class Bai16 extends DemoAbstractClass{
public static void main(String[] args) {
}
@Override
void InfoObject() {
}
}
Hàm InfoObject() ch? là 1 khuôn m?u cho các class k? th?a DemoAbstractClass
T?o 1 ??i t??ng trong hàm main,ch?nh s?a l?i hàm InfoObject theo ý b?n và ch?y th? ch??ng trình
PHP:
public class Bai16 extends DemoAbstractClass{
public static void main(String[] args) {
Bai16 obj = new Bai16();
obj.InfoObject();
}
@Override
void InfoObject() {
System.out.println("Day la abstract method,bat buoc phai override no");
}
}
2.Interface - implements
2.1.Khái ni?m
Nh? chúng ta ?ã bi?t m?t l?p trong java ch? có m?t siêu l?p (super class) tr?c ti?p hay m?t cha duy nh?t (??n th?a k?). ?? tránh ?i tính ph?c t?p c?a ?a th?a k? (multi-inheritance) trong l?p trình h??ng ??i t??ng, Java thay th? b?ng interface. M?t l?p có th? k? th?a t? nhi?u interface v?i các l?p khác ?? th?a h??ng thêm vùng d? li?u và ph??ng th?c c?a các interface này.
- Interface ???c khai báo nh? m?t l?p. Nh?ng các thu?c tính c?a interface là các h?ng (khai báo dùng t? khóa final) và các ph??ng th?c c?a interface là tr?u t??ng (m?c dù không có t?
khóa abstract).
2.2.Ví d?
T?o 2 Interface là DemoInterface và DemoInterface2
N?u b?n nào ch?a bi?t thì chu?t ph?i vào package -> Java Interface
PHP:
public interface DemoInterface {
void InfoInterface();
}
PHP:
public interface DemoInterface2 {
void InfoInterface2();
}
Cách k? th?a interface là dùng t? khóa implements
B?t bu?c ph?i Override các hàm trong Interface khi k? th?a nó
S?a l?i trong class Bai16 nh? sau
PHP:
public class Bai16 extends DemoAbstractClass implements DemoInterface,DemoInterface2{
public static void main(String[] args) {
Bai16 obj = new Bai16();
obj.InfoObject();
obj.InfoInterface();
obj.InfoInterface2();
}
@Override
void InfoObject() {
System.out.println("Day la abstract method,bat buoc phai override no");
}
@Override
public void InfoInterface() {
System.out.println("Day la ham trong DemoInterface");
}
@Override
public void InfoInterface2() {
System.out.println("Day la ham trong DemoInterface2");
}
}
}
Source code,các b?n down v? gi?i nén và import vào netbean
Cách import:T? netbean : File -> Open Project -> tìm n?i th? m?c b?n v?a gi?i nén

Available link for download