Hi, Khách!
|
interface-template
Bây giờ ta có 1 khái niệm mới, là giao diện. Giao diện ra đời chính là để giải quyết đa kế thừa. Mỗi lớp trong Java chỉ có 1 lớp cha, nhưng có thể implements nhiều giao diện.
Giao diện được khai báo giống như 1 lớp, cũng có state và behavior. Nhưng state của giao diện là final còn behavior là abstract
Giả sử, ta sẽ khai báo một giao diện
public interface Product
{
//hai state duoi day la final, tuc la lop implements khong duoc phep doi gia tri
static string maker = “My Corp”;
static string phone = “555-7767”;
//behavior duoi day la abstract, tuc la khong co noi dung
public int getPrice(int id);
}
Copy code
{
//hai state duoi day la final, tuc la lop implements khong duoc phep doi gia tri
static string maker = “My Corp”;
static string phone = “555-7767”;
//behavior duoi day la abstract, tuc la khong co noi dung
public int getPrice(int id);
}
Copy code
Bây giờ, ta sẽ viết một class có cài đặt (implements) giao diện này
public class Shoe implements Product
{
public int getPrince(int id)
{
return (id= =1)?5:10;
}
public String getMaker()
{
return maker;
}
}
Copy code
{
public int getPrince(int id)
{
return (id= =1)?5:10;
}
public String getMaker()
{
return maker;
}
}
Copy code
Muốn implements nhiều giao diện, làm như sau, ví dụ class Toyota extends Car implements ActionCar, ActionMobilation
package-unit
Hãy tạo 1 thư mục có tên là Transport
Bên trong thư mục này hãy tạo 2 file là Car.java và Bicycle.java như sau
--Car.java-
--Bicycle.java-
package Transport;
public class Bicycle
{
public int cost;
public Bicycle(int cost)
{
this.cost = cost;
}
}
Copy code
public class Bicycle
{
public int cost;
public Bicycle(int cost)
{
this.cost = cost;
}
}
Copy code
Như vậy là ta đã tạo ra 1 gói chứa 2 lớp là Car và Bicycle. Bây giờ ta có 1 chương trình muốn sử dụng gói này là TestProgram.java. Ta viết:
--ViDuTransport.java-
import Transport.*;
class TestProgram
{
public static void main(String args[)
{
Car myCar = new Car();
myCar.manufacturer = “Toyota”;
Bicycle myBicycle = new Bicycle(1500);
}
}
Copy code
class TestProgram
{
public static void main(String args[)
{
Car myCar = new Car();
myCar.manufacturer = “Toyota”;
Bicycle myBicycle = new Bicycle(1500);
}
}
Copy code
Lưu ý nếu trong file ViDuTransport bạn không khai báo import Transport.* thì bạn vẫn có thể khai báo tường minh như sau
Transport.Car myCar = new Transport.Car();
Trực Tuyến:
Khách: 1






