Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free Education

Bài viết Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free Education thuộc chủ đề về Thắc Mắt thời gian này đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng Buyer tìm hiểu Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free Education trong bài viết hôm nay nhé ! Các bạn đang xem nội dung : Website hướng dẫn lập trình miễn phí

Đánh giá về Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free Education


Xem nhanh
Java Core - Tính trừu tượng (Abstract)

Nội dung bao gồm:
Trừu tượng là gì?
Trừu tượng trong lập trình hướng đối tượng là gì?
Trừu tượng trong java là gì?
Lớp trừu tượng và phương thức trừu tượng

#techmaster #JavaCore #OOP

Tham khảo khóa Java FullStack: https://java.techmaster.vn/

Dẫn nhập

Ở bài trước, chúng ta đã tìm hiểu thông tin về OVERIDING & OVERLOADING trong lập trình hướng đối tượng

Hôm nay, Kteam sẽ giới thiệu cho các bạn một tính chất quan trọng trong lập trình hướng đối tượng chung. Đó là tính trừu tượng, hay cố gắng tìm hiểu trong bài học này.

✅ Mọi người cũng xem : bảo hiểm hàng không là gì

Nội dung

Để đọc hiểu bài này, hấp dẫn nhất các bạn nên có kiến thức cơ bản về các phần sau:

  • CÁC BIẾN TRONG JAVA.
  • CÁC KIỂU DỮ LIỆU TRONG JAVA.
  • CÁC HẠNG TOÁN TỬ TRONG JAVA
  • CẤU TRÚC RẼ NHÁNH TRONG JAVA
  • VÒNG LẶP WHILE TRONG JAVA
  • VÒNG LẶP FOR TRONG JAVA
  • MẢNG TRONG JAVA
  • VÒNG LẶP FOR-EACH TRONG JAVA
  • VAI TRÒ BREAK, CONTINUE TRONG VÒNG LẶP JAVA
  • SWITCH TRONG JAVA
  • LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
  • CLASS TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
  • CÁC LOẠI PHẠM VI TRUY CẬP TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
  • TỪ KHÓA STATIC TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
  • TỪ KHÓA THIS TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
  • THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
  • SETTER & GETTER TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
  • OVERRIDING VÀ OVERLOADING TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Bài này chúng ta sẽ tìm hiểu những vấn đề sau:

  • Tính trừu tượng là gì?
  • Trừu trượng trong lập trình hướng đối tượng là gì?
  • Tính trừu tượng trong Java

Tính trừu tượng là gì?

Mặc dù đây là bài viết lập trình, nhưng Kteam sẽ nói qua về ngôn ngữ học, rất nhiều người lập trình lâu năm đôi khi họ không thể hiểu bản chất từ trừu tượng

Mọi Người Xem :   Điều ước quốc tế là gì? Đặc điểm và phân loại Điều ước quốc tế

Trừu tượng là một từ Hán Việt: ‘trừu’ nghĩa là rút ra, ‘tượng’ có nghĩa là hình tượng, tượng trưng. Vậy theo nghĩa bóng, trừu tượng có nghĩa là rút ra một khái niệm từ những hình tượng chi tiết, tạo ra một ý niệm trong suy nghĩ con người.

Tính trừu tượng rất ý nghĩa không những lập trình nói riêng mà trong giáo dục nói chung. Khá bất ngờ tính trừu tượng đã áp dụng từ những học sinh lớp 1 và mẫu giáo. Kteam sẽ lấy ví dụ sau:

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

Nếu ai còn nhớ, đây chính là que tính được sử dụng khi học toán lớp 1 (Sau này Kteam không rõ giáo dục có sự thay đổi ngay không, có khả năng đã dạy sớm hơn trong chương trình mẫu giáo). Việc học toán lúc đầu cho các em nhỏ cần phải hiểu về các con số và toán tử, có thể giải thích quy trình như sau:

  • Bước 1: Cho các em nhỏ tập đếm dựa theo que tính để làm quen với con số, để cho tụi nhỏ hiểu ý nghĩa các con số như số 1 là một cái, số 2 là hai cái,…
  • Bước 2: Khi làm quen được các con số, các thầy cô sẽ dạy cách tính toán: thường các cô để 5 cái bên trái, 5 cái bên phải và hỏi tổng là bao thường xuyên. Các bạn đừng có nghĩ đa số tụi nhó sẽ biết 5+5=10 (tùy theo có khả năng mỗi đứa). Chúng sẽ đếm bên trái xong rồi đếm bên phải, dần dần trong đầu sẽ trừu tượng ra phép cộng. Rồi thầy cô thử lấy ra một số que tính, tụi nhóc cũng phải tập đếm lại và cũng trừu tượng ra phép trừ…

Như vậy, việc giáo dục toán que tính đang tạo trừu tượng toán học cho học sinh, dần dần các khái niệm trừu trượng của toán học cao hơn sẽ được dạy dần như nhân chia, lũy thừa, căn bậc, đạo hàm,… Thì tính trừu tượng toán càng cao, học toán càng giỏi. Nếu thời học sinh bạn sẽ thấy: đứa giỏi toán khi nhìn công thức nó sẽ ngồi ngẫm phân tích trong đầu rồi mới thử giải, có những đứa gặp công thức thì giải theo cách này đến cách khác mà chưa phân tích trước thì bản chất là đang thử sai và dựa vào may mắn, đứa yếu hơn thì nhìn công thức chỉ thấy rối đầu.

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

Ngay trong lập trình cũng vậy: Đứa giỏi lập trình thì khi có vấn đề thì sẽ ngồi ngẫm phân tích để đưa ra ý tưởng trước khi code, còn đứa không giỏi thì cứ nhảy vào code trong khi chưa rõ lý do rồi sau đó nghĩ mình đang viết cái gì.

Mọi Người Xem :   Kế toán tin học

✅ Mọi người cũng xem : học phun xăm thẩm mỹ ở đâu tốt webtretho

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

Tính trừu tượng trong lập trình hướng đối tượng là chỉ nêu ra vấn đề mà không hiển thị chi tiết, chỉ hiện thị tính năng thiết yếu đối với đối tượng người dùng mà không nói quá trình hoạt động. Ví dụ: như tạo ra tính năng gửi tin nhắn, ta chỉ cần hiểu là người sử dụng viết tin rồi nhấn gửi đi. Còn quy trình xử lý tin nhắn gửi như thế nào thì ta chưa đề cập đến.

Như vậy, tính trừu tượng là che giấu thông tin thực hiện từ người sử dụng, họ chỉ biết tính năng được cung cấp: Chỉ biết thông tin đối tượng thay vì cách nó dùng như thế nào. Nó có những ưu điểm sau:

  • Cho phép lập trình viên bỏ qua những phức tạp trong đối tượng mà chỉ đưa ra những khái niệm phương thức và thuộc tính cần thiết. Ta sẽ dựa những khái niệm đó để viết ra, nâng cấp và bảo trì.
  • Nó giúp ta tập trung cái cốt lõi đối tượng. Giúp người sử dụng không quên bản chất đối tượng đó làm gì.

Tính trừu tượng trong Java

Lớp trừu tượng

Lớp trừu tượng là lớp được khai báo mà không thể tạo ra đối tượng từ lớp đó. Ta sẽ tạo những lớp con kế thừa lớp trừu tượng.

Mục đích lớp trừu tượng là tạo ra lớp chung cho những lớp có liên quan với nhau kế thừa. Ví dụ khi xây dựng phần mềm quản lý nhà trường:  Những lớp sinh viên, giảng viên, cán bộ,… có những thuộc tính và phương thức chung như tên, năm sinh, quê quán,… thì ta sẽ tạo một lớp con người là lớp trừu tượng và những đặc điểm chung được để trong lớp con người. Khi phát triển chương trình, ta chỉ có khả năng tạo các đối tượng từ lớp con kế thừa lớp con người; không thể cho tạo đối tượng từ lớp con người được.

Để tạo lớp trừu tượng ta dùng từ khóa abstract trước từ khóa class. Ta sẽ dùng lớp Person từ những bài trước đó, biến nó thành lớp abstract:

public abstract class Person public String name; private int age; public float height; public Person(String name, int age, float height) this.name = name; this.age = age; this.height = height; public void setAge(int age) if (age>=0 && age<=100 ) this.age = age; public void setAge(byte age) if (age>=0 && age<=100 ) this.age = age; public void setAge(short age) if (age>=0 && age<=100 ) this.age = age; public void setAge(long age) if (age>=0 && age<=100 ) this.age = (int) age; public int getAge() return this.age; public void getInfo() System.out.println("Name:"+this.name); System.out.println("Age:"+this.age); System.out.println("Height:"+this.height); 

 Khi ta thử khởi tạo đối tượng lớp Person, Eclipse sẽ cảnh báo lỗi:

Mọi Người Xem :   Viết đoạn văn về hạnh phúc siêu hay (18 mẫu)

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

Ngay cả phương thức Clone ta viết bên trong bài trước cũng cảnh báo (Code phía trên Kteam đã xóa phương thức đó).

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

Như vậy, chỉ có những lớp kế thừa lớp Person mới có khả năng dùng được.

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

Các phương thức trừu tượng là là chỉ định nghĩa mà không có chương trình bên trong, lớp con kế thừa phải yêu cầu override nó lại để dùng. Phương thức trừu tượng có ý nghĩa định nghĩa phương thức yêu cầu phải có trong lớp con kế thừa.

Ví du: Ta sẽ tạo phương thức trừu tượng clone() trong lớp Person để bắt các lớp con phải override lại.

public class Person public String name; private int age; public float height; public Person(String name, int age, float height) this.name = name; this.age = age; this.height = height; public void setAge(int age) if (age>=0 && age<=100 ) this.age = age; public void setAge(byte age) if (age>=0 && age<=100 ) this.age = age; public void setAge(short age) if (age>=0 && age<=100 ) this.age = age; public void setAge(long age) if (age>=0 && age<=100 ) this.age = (int) age; public int getAge() return this.age; public abstract Object clone(); public void getInfo() System.out.println("Name:"+this.name); System.out.println("Age:"+this.age); System.out.println("Height:"+this.height); 

 Ở phương thức clone(), ta cho phương thức trả từ khóa Object có nghĩa phương thức sẽ trả kiểu một đối tượng chung nào đó (như Person, Student, Example… ta gọi chung là Object).

Bây giờ tại lớp Student, Eclipse sẽ đưa ra cảnh báo phải override lại phương thức clone()

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

Ta sẽ override lại như sau:

public class Student extends Person public String universityName; public Student(String name, int age, float height, String universityName) super(name, age, height); this.universityName = universityName; public void getInfo() super.getInfo(); System.out.println("University Name:"+this.universityName); @Override public Object clone() Student other = new Student(this.name, this.getAge(), this.height, this.universityName); return other; 

Chú ý

Trong dòng code

Student other = new Student(this.name, this.getAge(), this.height, this.universityName);

Vì thuộc tính age ở phạm vi private nên lớp con phải gọi this.getAge() để lấy tổng giá trị. Theo Kteam thì nên cho các thuộc tính lớp trừu tượng ở dạng protected để lớp con kế thừa dễ dàng truy cập.

Kết

Như vậy chúng ta đã tìm hiểu tính trừu tượng trong lập trình hướng đối tượng

Ở bài sau, Kteam sẽ giới thiệu đến bạn về INTERFACE TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.

✅ Mọi người cũng xem : cơ quan sinh sản của cây là gì

Thảo luận

Nếu bạn có bất kỳ điều kiện hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

image

CỘNG ĐỒNG HỎI ĐÁP HOWKTEAM.COM

image

GROUP THẢO LUẬN FACEBOOK



Các câu hỏi về tính trừu tượng trong oop là gì


Nếu có bắt kỳ câu hỏi thắc mắt nào vê tính trừu tượng trong oop là gì hãy cho chúng mình biết nhé, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình cải thiện hơn trong các bài sau nhé

Related Posts

Tìm việc điện tử 1

Tìm việc điện tử

ContentsĐánh giá về Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free…
Tác hại của một số chất kích thích đối với cơ thể 2

Tác hại của một số chất kích thích đối với cơ thể

ContentsĐánh giá về Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free…
Thế nào là phương châm về lượng, phương châm về chất 3

Thế nào là phương châm về lượng, phương châm về chất

ContentsĐánh giá về Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free…
Au là chất gì, au hóa trị mấy, là nguyên tố gì ? - Đáp Án Chuẩn 4

Au là chất gì, au hóa trị mấy, là nguyên tố gì ? – Đáp Án Chuẩn

ContentsĐánh giá về Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free…
Chất đạm - Quan trọng hàng đầu với cơ thể 5

Chất đạm – Quan trọng hàng đầu với cơ thể

ContentsĐánh giá về Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free…
Tính chất của cuộc cách mạng 1789 ở Pháp là 6

Tính chất của cuộc cách mạng 1789 ở Pháp là

ContentsĐánh giá về Tính trừu tượng trong lập trình hướng đối tượng với Java | Website hướng dẫn lập trình miễn phí | How Kteam | Free…