Các anh đi trước có ai theo Java có thể giảng cặn kẽ chi tiết giúp em hiểu “rõ” về Tính Trừu Tượng trong Java với. Em thấy nó hơi trừu tượng chưa hiểu rõ lắm!
Thanks các anh!
Tính trườu tượng trong Java
E đọc bài này nhé:
Có gì không hiểu có thể hỏi a
Ah quên mất tính trừu tượng a chưa viết @@. để mai rảnh a viết tiếp vậy
Hjx vâng em cảm ơn anh ạ. hóng
Bài viết hay mà 1 tháng r chưa thấy update
Hi em,
A xin dùng từ abstract ở đây thay cho từ trừu tượng vì theo ý a nó mang nghĩa dể hiểu, dễ giải thích hơn. Abstract nghĩa là chỉ show ra những tính năng cần cho một người dùng cụ thể và hide đi những cái không cần thiết.
A lấy ví dụ là xem xét một chiếc xe hơi. Ở ngoài đời thực nó là 1 khối tổng thể phức tạp. Tùy vào chương trình của e phục vụ cho nhu cầu gì mà ta sẽ abstract ra theo hướng khác nhau. Nếu như chỉ để quản lý xe, thì 1 cái xe có thể abstract ra thành một object với những property như model, tên, số seri, owner. Còn nếu như chương trình phục vụ cho mục đích là sửa xe hay lắp rắp, thì object sẽ cần những property như wheels, engine, brake.
Thì tính trừu tượng là nó trừu tượng vậy đó em :v
Nó là cái gì đó chung chung, không rõ ràng.
Vd:
- Ta có một lớp trừu tượng tên là RUN và bên trong có một phương thức là showSpeed()
- Ta có thêm 3 lớp bình thường khác là CAR, DOG, CHICKEN kế thừa RUN.
như bạn thấy thì 3 cái đều có thể “chạy” nhưng cách chạy, tốc độ là khác nhau. trong mỗi lớp CAR, DOG, CHICKEN ta phải có override lại phương thức showSpeed() và phương thức này sẽ hiển thị đốc độ khác nhau.
=> RUN ở đây là cái trừu tượng / chung chung cho 3 cái CAR, DOG, CHICKEN.
(Tính trừu tượng thể hiện qua interface / abstract class)
Tưởng tượng mỗi object là một người, cùng một hành động (method) thì mỗi người sẽ có cách làm khác nhau (override) ==> tính trừu trượng là ở đó
Cảm ơn tất cả mọi người ạ, có thể em chưa hiểu kỹ lắm tuy nhiên đã không còn mập mờ như trước nữa ạ.