Lớp trừu tượng trong java với ví dụ thời gian thực. Ví dụ về phương thức trừu tượng trong java. Lớp trừu tượng có các hàm tạo trong java không? Lớp trừu tượng có thể là cuối cùng trong Java không?

Bạn đang xem : ví dụ về lớp trừu tượng java

Lớp trừu tượng trong thế giới thực:

Hãy để chúng tôi lấy một ví dụ về các đối tượng đồ họa. Các đối tượng đồ họa khác nhau ở đó như hình tròn, hình chữ nhật, hình tam giác, v.v. Chúng đều có trạng thái được xác định bởi vị trí, màu sắc, v.v. và hành vi được xác định bằng cách vẽ, thay đổi kích thước, tính toán kích thước, v.v. Vì tất cả các loại đối tượng này đều có những điểm chung nhưng với các cách triển khai khác nhau . Chúng ta có thể tận dụng những thứ phổ biến với các cách triển khai khác nhau và đặt những thứ phổ biến này vào một lớp trừu tượng (ví dụ GraphicObjects), sau đó mở rộng lớp này trong các lớp con để cung cấp các triển khai cụ thể.

Lớp trừu tượng trong java:

Lớp trừu tượng là một cách triển khai sự trừu tượng từ 0 đến 100%. Một lớp được khai báo với từ khóa trừu tượng được gọi là một lớp trừu tượng. Một lớp trừu tượng có thể chứa hoặc không chứa phương thức trừu tượng. Không thể khởi tạo các lớp trừu tượng.

Cú pháp:

Tên lớp trừu tượng {

// khai báo các trường

// khai báo các phương thức trừu tượng / không trừu tượng

}

Phương thức trừu tượng:

A phương thức không có triển khai, tức là không có dấu ngoặc nhọn và theo sau là dấu chấm phẩy.

Cú pháp:

abstract return_type methodName ();

Ví dụ:

 

/ ** * Chương trình này được sử dụng để hiển thị cách sử dụng đơn giản của lớp trừu tượng. * @author W3spoint * /

trừu tượng

lớp

GraphicObjects

{

// khai báo phương thức trừu tượng

trừu tượng

void

showShape

(

)

;

}

lớp

Vòng tròn

mở rộng

GraphicObjects

{

/ ** * Đây là phương thức bị ghi đè, cung cấp triển khai * của phương pháp trừu tượng theo nhu cầu của bạn. * @author W3spoint * /

void

showShape

(

)

{

Hệ thống

.

ra

.

println

(

"Loại đối tượng là Vòng tròn."

)

;

}

}

lớp

Hình chữ nhật

kéo dài

GraphicObjects

{

/ ** * Đây là phương thức bị ghi đè, cung cấp triển khai * của phương pháp trừu tượng theo nhu cầu của bạn. * @author W3spoint * /

void

showShape

(

)

{

Hệ thống

.

ra

.

println

(

"Loại đối tượng là Hình chữ nhật".

)

;

}

}

lớp

Tam giác

mở rộng

GraphicObjects

{

/ ** * Đây là phương thức bị ghi đè, cung cấp triển khai * của phương pháp trừu tượng theo nhu cầu của bạn. * @author W3spoint * /

void

showShape

(

)

{

Hệ thống

.

ra

.

println

(

"Loại đối tượng là Tam giác."

)

;

}

}

công khai

lớp

AbstractClassExample1

{

public

static

void

main

(

Chuỗi

args

[

]

)

{

// GraphicObjects là siêu cấp

// do đó, tham chiếu của nó có thể chứa đối tượng lớp con.

GraphicObjects obj

=

mới

Vòng kết nối

​​(

)

;

obj.

showShape

(

)

;

obj

=

mới

Hình chữ nhật

(

)

;

obj.

showShape

(

)

;

obj

=

mới

Tam giác

(

)

;

obj.

showShape

(

)

;

}

}

/ **
* Chương trình này được sử dụng để hiển thị cách sử dụng đơn giản của lớp trừu tượng.
* @author W3spoint
* /
lớp trừu tượng GraphicObjects {
// khai báo phương thức trừu tượng
trừu tượng void showShape ();
} class Circle mở rộng GraphicObjects {
/ **
* Đây là phương thức bị ghi đè, cung cấp triển khai
* của phương pháp trừu tượng theo nhu cầu của bạn.
* @author W3spoint
* /
void showShape () {
System.out.println (“Kiểu đối tượng là Hình tròn.”);
}
} class Rectangle mở rộng GraphicObjects {
/ **
* Đây là phương thức bị ghi đè, cung cấp triển khai
* của phương pháp trừu tượng theo nhu cầu của bạn.
* @author W3spoint
* /
void showShape () {
System.out.println (“Kiểu đối tượng là Hình chữ nhật.”);
}
} class Triangle mở rộng GraphicObjects {
/ **
* Đây là phương thức bị ghi đè, cung cấp triển khai
* của phương pháp trừu tượng theo nhu cầu của bạn.
* @author W3spoint
* /
void showShape () {
System.out.println (“Kiểu đối tượng là Tam giác.”);
}} public class AbstractClassExample1 {
public static void main (String args []) {
// GraphicObjects là siêu lớp
// do đó, tham chiếu của nó có thể chứa đối tượng lớp con.
GraphicObjects obj = new Circle ();
obj.showShape ();
obj = new Rectangle ();
obj.showShape ();
obj = new Tam giác ();
obj.showShape ();
}
}

Xem Thêm  Nhập số điện thoại HTML: Hướng dẫn Cách thực hiện về Tạo Trường Người dùng - số điện thoại loại đầu vào html5

Đầu ra:

 

Kiểu đối tượng

là Circle.

Loại đối tượng

Hình chữ nhật

.

Loại đối tượng

là Tam giác.

Loại đối tượng là Hình tròn.
Loại đối tượng là Hình chữ nhật.
Loại đối tượng là Triangle.

Tải xuống ví dụ này.

Nếu một lớp có một phương thức trừu tượng thì nó phải là một lớp trừu tượng nhưng ngược lại thì không đúng, tức là không nhất thiết một lớp trừu tượng phải có một phương thức trừu tượng.

Ví dụ:

 

abstract

< p> class

GraphicObjects

{

// không có lỗi

// khai báo phương thức không trừu tượng

void

showShape

(

)

{

Hệ thống

.

ra

.

println

(

"In hình dạng đối tượng."

)

;

}

}

lớp trừu tượng GraphicObjects {// không có lỗi
// khai báo phương thức không trừu tượng
void showShape () {
System.out.println (“In hình đối tượng.”);
}
}

 

// lỗi ở đây lớp phải trừu tượng nếu nó

// có một hoặc nhiều phương thức trừu tượng.

lớp

GraphicObjects

{

// khai báo phương thức trừu tượng

trừu tượng

void

showShape

(

)

{

}

// lỗi ở đây lớp phải trừu tượng nếu nó
// có một hoặc nhiều phương thức trừu tượng.
lớp GraphicObjects {
// khai báo phương thức trừu tượng
trừu tượng void showShape () {
}

Nếu một lớp mở rộng lớp trừu tượng hơn thì nó phải cung cấp việc triển khai tất cả các phương thức trừu tượng hoặc khai báo lớp này là lớp trừu tượng.

Ví dụ:

 

/ ** * Chương trình này được sử dụng để hiển thị rằng một lớp * phải cung cấp thực hiện * của tất cả các phương pháp trừu tượng của trừu tượng mở rộng * lớp hoặc khai báo chính nó trừu tượng. * @author W3spoint * /

trừu tượng

lớp

GraphicObjects

{

// khai báo phương thức trừu tượng

trừu tượng

void

showShape

(

)

;

}

lớp

Vòng tròn

mở rộng

GraphicObjects

{

/ ** * Đây là phương thức bị ghi đè, cung cấp triển khai * của phương pháp trừu tượng theo nhu cầu của bạn. * @author W3spoint * /

void

showShape

(

)

{

Hệ thống

.

ra

.

println

(

"Loại đối tượng là Vòng tròn."

)

;

}

}

lớp

Hình chữ nhật

kéo dài

GraphicObjects

{

// lỗi ở đây, lớp Rectangle phải cung cấp triển khai

// của tất cả các phương thức trừu tượng của lớp trừu tượng mở rộng.

}

trừu tượng

lớp

Tam giác

mở rộng

GraphicObjects

{

// không có lỗi ở đây, vì lớp Triangle được khai báo

// dưới dạng một lớp trừu tượng

}

công khai

lớp

AbstractClassExample2

{

public

static

void

main

(

Chuỗi

args

[

]

)

{

// GraphicObjects là siêu cấp

// do đó, tham chiếu của nó có thể chứa đối tượng lớp con.

GraphicObjects obj

=

mới

Vòng kết nối

​​(

)

;

obj.

showShape

(

)

;

}

}

/ **
* Chương trình này được sử dụng để hiển thị rằng một lớp
* phải cung cấp thực hiện
* của tất cả các phương pháp trừu tượng của trừu tượng mở rộng
* lớp hoặc khai báo chính nó trừu tượng.
* @author W3spoint
* /
lớp trừu tượng GraphicObjects {
// khai báo phương thức trừu tượng
trừu tượng void showShape ();
} class Circle mở rộng GraphicObjects {
/ **
* Đây là phương thức bị ghi đè, cung cấp triển khai
* của phương pháp trừu tượng theo nhu cầu của bạn.
* @author W3spoint
* /
void showShape () {
System.out.println (“Kiểu đối tượng là Hình tròn.”);
}
} class Rectangle mở rộng GraphicObjects {
// lỗi ở đây, lớp Rectangle phải cung cấp triển khai
// của tất cả các phương thức trừu tượng của lớp trừu tượng mở rộng.
} lớp trừu tượng Triangle mở rộng GraphicObjects {
// không có lỗi ở đây, vì lớp Triangle được khai báo
// như một lớp trừu tượng
} public class AbstractClassExample2 {
public static void main (String args []) {
// GraphicObjects là siêu lớp
// do đó, tham chiếu của nó có thể chứa đối tượng lớp con.
GraphicObjects obj = new Circle ();
obj.showShape ();
}
}

Xem Thêm  Cách tạo dạng xem trong SQL Server - cách tạo chế độ xem trong sql

Kết quả:

 

Lỗi

.

Lỗi.

< p> Tải xuống ví dụ này.

Một lớp trừu tượng có thể có cả thành viên dữ liệu tĩnh và không tĩnh và các phương thức giống như bất kỳ lớp java nào khác.

Ví dụ:

 

/ ** * Chương trình này được sử dụng để chỉ ra rằng lớp trừu tượng có thể có cả tĩnh * và các thành viên và phương thức dữ liệu không tĩnh như bất kỳ lớp java nào khác. * @author W3spoint * /

trừu tượng

lớp

GraphicObjects

{

// thành viên dữ liệu không tĩnh

int

var1

=

50

;

// thành viên dữ liệu tĩnh

tĩnh

Chuỗi

str1

=

"www.w3spoint.com"

;

// khai báo phương thức trừu tượng

trừu tượng

void

showShape

(

)

;

// phương thức không trừu tượng, không tĩnh

void

area

(

int

area

)

{

Hệ thống

.

ra

.

println

(

"Diện tích ="

+ < / p> khu vực

)

;

}

// phương thức tĩnh, không trừu tượng

static

void

displayGraphicObjects

(

)

{

Hệ thống

.

ra

.

println

(

"Đối tượng đồ họa".

)

;

}

}

lớp

Vòng tròn

mở rộng

GraphicObjects

{

/ ** * Đây là phương thức bị ghi đè, cung cấp triển khai * của phương pháp trừu tượng theo nhu cầu của bạn. * @author W3spoint * /

void

showShape

(

)

{

Hệ thống

.

ra

.

println

(

"Loại đối tượng là Vòng tròn."

)

;

Hệ thống

.

ra

.

println

(

"Biến không tĩnh ="

+

var1

)

;

}

}

công khai

lớp

AbstractClassExample3

{

public

static

void

main

(

Chuỗi

args

[

]

)

{

// GraphicObjects là siêu cấp

// do đó, tham chiếu của nó có thể chứa đối tượng lớp con.

GraphicObjects obj

=

mới

Vòng kết nối

​​(

)

;

obj.

showShape

(

)

;

khu vực obj.

(

250

)

;

// gọi phương thức tĩnh và biến có tên lớp.

GraphicObjects.

displayGraphicObjects

(

)

;

Hệ thống

.

ra

.

println

(

"static variable ="

+

GraphicObjects.

str1

)

;

}

}

/ **
* Chương trình này được sử dụng để chỉ ra rằng lớp trừu tượng có thể có cả tĩnh
* và các thành viên và phương thức dữ liệu không tĩnh như bất kỳ lớp java nào khác.
* @author W3spoint
* /
lớp trừu tượng GraphicObjects {
// thành viên dữ liệu không tĩnh
int var1 = 50; // thành viên dữ liệu tĩnh
static String str1 = “www.w3spoint.com”; // khai báo phương thức trừu tượng
trừu tượng void showShape (); // phương thức không trừu tượng, không tĩnh
vùng trống (int area) {
System.out.println (“Diện tích =” + diện tích);
} // phương thức tĩnh, không trừu tượng
static void displayGraphicObjects () {
System.out.println (“Đối tượng đồ họa.”);
}
} class Circle mở rộng GraphicObjects {
/ **
* Đây là phương thức bị ghi đè, cung cấp triển khai
* của phương pháp trừu tượng theo nhu cầu của bạn.
* @author W3spoint
* /
void showShape () {
System.out.println (“Kiểu đối tượng là Hình tròn.”);
System.out.println (“Biến không tĩnh =” + var1);
}
} public class AbstractClassExample3 {
public static void main (String args []) {
// GraphicObjects là siêu lớp
// do đó, tham chiếu của nó có thể chứa đối tượng lớp con.
GraphicObjects obj = new Circle ();
obj.showShape ();
obj.area (250); // gọi phương thức tĩnh và biến có tên lớp.
GraphicObjects.displayGraphicObjects ();
System.out.println (“biến static =”
+ GraphicObjects.str1);
}
}

Đầu ra:

 

Diện tích

=

250

Đối tượng đồ họa.

static

biến

=

www.

w3spoint

.

com

Area = 250
Đối tượng đồ họa.
static variable = www.w3spoint.com

Tải xuống ví dụ này.

Tại sao lớp trừu tượng được sử dụng:

Lớp trừu tượng trong java được sử dụng để triển khai sự trừu tượng từ 0 đến 100%.
Lưu ý: Lớp trừu tượng cung cấp sự trừu tượng từ 0 đến 100% vì nó có thể không chứa phương thức trừu tượng hoặc nó có thể chứa một số phương thức của nó như các phương thức trừu tượng hoặc nó có thể chứa tất cả các phương thức của nó dưới dạng phương thức trừu tượng.

Lớp trừu tượng có thể có hàm tạo trong Java không?

Có, lớp trừu tượng có hàm tạo trong java. Nhưng nó không được sử dụng để khởi tạo lớp trừu tượng. Nó được sử dụng trong chuỗi phương thức khởi tạo hoặc để khởi tạo các biến chung của lớp trừu tượng.

Lớp trừu tượng có thể là lớp cuối cùng trong Java không?

Không, lớp trừu tượng không thể là cuối cùng trong Java vì các lớp trừu tượng chỉ được sử dụng bằng cách mở rộng và nếu chúng là lớp cuối cùng thì không thể mở rộng.

Chủ đề tiếp theo: Ví dụ về giao diện trong java.
Chủ đề trước: Cách đọc đầu vào từ dòng lệnh trong Java bằng Máy quét.

Câu hỏi phỏng vấn Java về giao diện và lớp trừu tượng

Vui lòng chia sẻ

< span class = "heateor_sss_butt on_Diigo "rel =" nofollow noopener "target =" _ blank "title =" Diigo ">


Xem thêm những thông tin liên quan đến chủ đề ví dụ lớp trừu tượng java

Java – Bài 45: Lớp trừu tượng

  • Tác giả: thân triệu
  • Ngày đăng: 2020-02-07
  • Đánh giá: 4 ⭐ ( 3927 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn học lập trình Java cơ bản và nâng cao. Lớp trừu tượng trong ngôn ngữ lập trình Java. Học lập trình Java cơ bản và nâng cao. Học lập trình đầy đủ và cập nhật trên kênh thân triệu. thân triệu channel-let’s grow together!

[Tự học Java] Class trừu tượng(Abstract) và phương thức trừu tượng trong Java

  • Tác giả: cafedev.vn
  • Đánh giá: 5 ⭐ ( 4965 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài hướng dẫn này, chúng ta sẽ tìm hiểu về tính trừu tượng(Abstract) trong Java. Chúng ta sẽ tìm hiểu về các class và phương thức trừu tượng(Abstract) trong Java và cách sử dụng chúng trong chương trình của chúng ta.

Tính trừu tượng trong lập trình hướng đối tượng với Java

  • Tác giả: howkteam.vn
  • Đánh giá: 3 ⭐ ( 3821 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tính trừu tượng trong lập trình hướng đối tượng với Java

155 bài học Java miễn phí hay nhất

  • Tác giả: vietjack.com
  • Đánh giá: 3 ⭐ ( 3753 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lớp trừu tượng – Abstract Class trong Java – Học Java cơ bản và nâng cao cho người mới học về Ngôn ngữ hướng đối tượng, Ví dụ Java, Phương thức, Ghi đè, Tính kế thừa, Tính trừu tượng, Tính đa hình, Overriding, Inheritance, Polymorphism, Interfaces, Packages, Collections, Lập trình mạng, Đa luồng, Tuần tự hóa, Networking, Multithreading, Generics, Multimedia, Serialization, GUI.

Lớp trừu tượng – Abstract Class trong Java

  • Tác giả: hoclaptrinh.vn
  • Đánh giá: 3 ⭐ ( 4288 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Một lớp được khai báo với từ khóa abstract được xem như là lớp abstract trong Java. Nó có thể có các phương thức abstract hoặc non-abtract.

Lớp trừu tượng (abstract class) trong Java

  • Tác giả: gochocit.com
  • Đánh giá: 3 ⭐ ( 2856 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lớp trừu tượng (abstract class) trong Java. Lớp trừu tượng (abstract class) không thể tạo ra các đối tượng. Phương thức trừu tượng (abstract method).

Lớp trừu tượng (Abtraction Class) là gì? Ví dụ minh họa cụ thể

  • Tác giả: funix.edu.vn
  • Đánh giá: 3 ⭐ ( 5251 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong lập trình hướng đối tượng, lớp trừu tượng là một khái niệm quan trọng. Vậy lớp trừu tượng là gì? Theo dõi bài viết dưới đây FUNiX sẽ giải đáp cho bạn!

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php