Nội dung
FaCode Ngôn ngữ java Lớp abstract trong java
Một lớp được khai báo với từ khóa abstract là lớp abstract trong Java. Lớp abstract có nghĩa là lớp trừu tượng, nó có thể có các phương thức abstract hoặc non-abtract.
Trước khi tìm hiểu về lớp trừu tượng trong Java, bạn cần hiểu tính trừu tượng trong Java là gì.
Tính trừu tượng trong java
Tính trừu tượng là một tiến trình ẩn các cài đặt chi tiết và chỉ hiển thị tính năng tới người dùng.
Nói cách khác, nó chỉ hiển thị các thứ quan trọng tới người dùng và ẩn các chi tiết nội tại, ví dụ: để gửi tin nhắn, người dùng chỉ cần soạn text và gửi tin. Bạn không biết tiến trình xử lý nội tại về phân phối tin nhắn.
Tính trừu tượng giúp bạn trọng tâm hơn vào đối tượng thay vì quan tâm đến cách nó thực hiện.
Các cách để đạt được sự trừu tượng hóa
Có 2 cách để đạt được sự trừu tượng hóa trong java
- Sử dụng lớp abstract
- Sử dụng interface
Phương thức trừu tượng trong Java
Một phương thức được khai báo là abstract và không có trình triển khai thì đó là phương thức trừu tượng.
Nếu bạn muốn một lớp chứa một phương thức cụ thể nhưng bạn muốn triển khai thực sự phương thức đó để được quyết định bởi các lớp con, thì bạn có thể khai báo phương thức đó trong lớp cha ở dạng abstract.
Từ khóa abstract được sử dụng để khai báo một phương thức dạng abstract. Một phương thức abstract không có thân phương thức.
Phương thức abstract sẽ không có định nghĩa, được theo sau bởi dấu chấm phảy, không có dấu ngoặc nhọn theo sau:
Ví dụ về lớp trừu tượng và phương thức trừu tượng trong Java
Trong ví dụ này, Bike là lớp trừu tượng chỉ chứa một phương thức trừu tượng là run. Trình triển khai của nó được cung cấp bởi lớp Honda.
Kết quả:
Code:
abstract class Bike{
abstract void run();
}
class Honda4 extends Bike{
void run() {
System.out.println("running safely..");
}
public static void main(String args[])
{
Bike obj = new Honda4();
obj.run();
}
}
Kế thừa lớp Abstract trong Java
Trong ví dụ này, Shape là lớp trừu tượng, trình triển khai của nó được cung cấp bởi lớp Rectangle và lớp Circle. Hai lớp này kế thừa lớp trừu tượng Shape.
TestAbstraction1.java
Kết quả:
Code:
// Lớp trừu tượng Shape
abstract class Shape{
abstract void draw();
}
//Trong tình huống này, trình triển khai được cung cấp bởi ai đó
// Ví dụ: người sử dụng cuối cùng nào đó
class Rectangle extends Shape{
void draw(){
System.out.println("Ve hinh chu nhat");
}
}
class Circle1 extends Shape{
void draw(){
System.out.println("Ve hinh tron");
}
}
//Trong tình huống này, phương thức được gọi bởi lập trình viên hoặc người dùng
class TestAbstraction1{
public static void main(String args[]) {
// Trong tình huống này, đối tượng được cung cấp thông qua phương thức,
// Chẳng hạng như getShape()
Shape s=new Circle1();
s.draw();
}
}
____________________________________________________________________________________________
7 Java frameworks phổ biến nhất hiện nay
__________
FaCode là một seri học tập lập trình, lần này là FaCode ngôn ngữ Java, bằng mọi nỗ lực FaCode sẽ hoàn thành các mục tiêu đề ra trong FaCode Ngôn ngữ Java. Hãy đồng hành cùng FaCode Ngôn ngữ Java và theo dõi chúng tôi nhé. FaCode Ngôn ngữ Java rất mong nhận được lời góp ý từ phía cộng đồng. Share4Happy với phương châm chia sẻ để hạnh phúc.