Advertisements
YellowCode.Books

Java Bài 35: Lớp Vô Danh (Anonymous Class)

Bài học hôm nay chúng ta sẽ đến với một cách sử dụng lớp và đối tượng bên trong Java một cách thú vị hơn. Thông qua bài học bạn sẽ biết được rằng, không phải lúc nào cũng cứ phải khai báo một lớp rõ ràng rồi sử dụng nó thông qua các khai báo đối tượng từ lớp đó. Bạn có thể tạo ra đối tượng thoải mái từ một lớp mà chẳng ai biết là đối tượng đó thuộc lớp nào cả.

Sau bài học, bạn sẽ biết cách sử dụng lớp trong Java một cách linh động hơn, ngắn gọn hơn, và nếu nhìn quen mắt thì sẽ còn thấy dễ hiểu hơn đấy. Mời các bạn cùng đến với bài học hôm nay.

Java Bài 34: Lớp Lồng

Đọc đến tiêu đề chắc hẳn bạn đã biết nội dung mà bài học hướng đến rồi. Đó chính là kiến thức về việc khai báo một lớp ở bên trong một lớp khác. Đây không phải là quan hệ cha-con gì nhé, do đó nó không phải là kế thừa, nó chỉ là một lớp được khai báo bên trong lớp khác mà thôi. Vậy chúng ta cùng nhau tìm hiểu xem việc lồng các lớp vào với nhau là gì và tại sao lại làm như vậy nhé.

Java Bài 33: Interface

Vâng, hôm nay chúng ta sẽ nói về interface. Nhưng bạn hãy dừng việc tưởng tượng rằng chúng ta đang nói đến việc làm sao xây dựng một giao diện cho ứng dụng Java. Tuy interface có nghĩa là giao diện, nhưng giao diện mà bạn đang nghĩ tới thì người ta gọi là UI cơ.

Vậy interface là gì nếu nó không phải là giao diện? Mời bạn đọc tiếp bài học hôm nay. Trước hết, để có thể hiểu bài viết về interface này, bạn nhất định phải đọc và hiểu khái niệm trừu tượng (abstraction) là gì trước.

Vì kiến thức về interface khá nhiều, mình cũng không chắc có thể nói hết tất cả các vấn đề của interface vào một bài viết hay không. Mình sẽ cố gắng trình bày nhiều nhất và rõ ràng nhất có thể, để bạn nắm được khái niệm và cách khai báo, sau này khi bạn bước qua lập trình ứng dụng Android, bạn sẽ hiểu rõ hơn về công dụng thực tế của interface.

Java Bài 32: Tính Trừu Tượng (Abstraction)

Với việc đi qua bài học hôm nay thì chúng ta cũng đã nói đủ bốn đặc tính cốt lõi trong lập trình hướng đối tượng. Bốn đặc tính đó là:

– Tính Gói ghém dữ liệu, hay còn gọi là Encapsulation. Bạn có thể xem lại tính chất này ở các bài: khả năng truy cập, getter/setter.
– Tính Kế thừa, hay còn gọi là Inheritance. Bạn có thể xem lại tính chất này ở các bài: kế thừa, overriding, overloading.
– Tính Đa hình, hay còn gọi là Polymorphism. Bạn có thể xem lại tính chất này ở bài về polymorphism.
– Và hôm nay. Tính Trừu tượng, hay còn gọi là Abstraction.

Nghe qua thì thấy rất trừu tượng. Liệu kiến thức này có khó hiểu không và nó giúp ích gì cho việc tổ chức code trong OOP? Chúng ta cùng đi vào bài học luôn nhé.

Java Bài 31: Ép Kiểu Trong OOP

Chắc các bạn còn nhớ, chúng ta đã nói về ép kiểu ở bài học số 6. Và hiển nhiên bạn đã biết đến khái niệm ép kiểu là gì rồi, bài này chúng ta không cần nhắc đến.

Và ép kiểu ở bài học đó chính là ép kiểu trên các dữ liệu nguyên thủy. Việc ép kiểu lúc bấy giờ được phân biệt làm hai trường hợp riêng biệt, đó là ép kiểu ngầm định và ép kiểu tường minh. Xem ra thì ép kiểu mà bạn đã biết cũng không có gì phức tạp lắm nhỉ. Vậy thì hôm nay, khi biết về OOP, chúng ta sẽ xem việc ép kiểu trên các dữ liệu không-phải-nguyên-thủy sẽ trông như thế nào nhé.

Java Bài 30: Đa Hình (Polymorphism)

Bài hôm nay chúng ta sẽ nói sâu về tính Đa hình trong Java. Nghe qua đặc tính này thì có vẻ khó. Một phần vì ứng dụng của chúng không nhiều. Với cái tên nghe chẳng có cố định gì cả, như là biến hình gì gì đó. Cộng với khá ít tài liệu viết rõ về công năng này của OOP. Vậy thì chúng ta cùng đi sâu vào bài học để xem Đa hình là gì và nó có thực sự khó không nhé.

overloading - ảnh feature

Java Bài 29: Nạp Chồng Phương Thức (Overloading)

Nếu bạn nhớ, chúng ta đã học về overriding. Hôm nay bạn lại được biết thêm về overloading. Cẩn thận coi chừng nhầm lẫn nha bạn. Overriding, overloading, over, and over… Mình đùa tí thôi, mình giúp các bạn nhớ lại một tí như sau. Overriding là cái sự lớp con ghi đè phương thức của lớp cha. Overloading là nạp chồng phương thức. Mời các bạn cùng đến với bài học hôm nay. Bài học sẽ giúp bạn nắm được khái niệm overloading là gì. Bên cạnh đó nó còn giúp bạn đừng bị nhầm lẫn giữa overriding và overloading nữa đấy.

Java Bài 28: Từ Khóa static

Có thể nói, cho đến bài học OOP hôm nay, đã có ngày càng nhiều từ khóa được lần lượt giới thiệu đến các bạn. Để mình giúp các bạn ôn lại một chút các từ khóa và tên gọi quan trọng mà chúng ta đã xem qua. Từ khóa extends – Bạn bắt đầu làm quen với từ khóa này khi thể hiện sự kế thừa. Từ khóa this – Giúp tham chiếu đến các giá trị bên trong lớp. Từ khóa super – Giúp tham chiếu đến các giá trị của lớp cha gần nhất. Annotation @Overriding – Thể hiện phương thức đang định nghĩa là phương thức phủ quyết, hay ghi đè, hay overriding. Từ khóa Object – Dùng để chỉ lớp Object, lớp cha nhất của tất cả các lớp trong Java. Các từ khóa private/protected/public – Dùng khi định nghĩa khả năng truy cập vào các giá trị lớp. Từ khóa final – Giúp định nghĩa hằng số, hoặc ngăn chặn sự overriding bên trong OOP. Tên gọi getter và setter – Nhằm ám chỉ đến sự gói ghém dữ liệu thông qua các phương thức get/set cho thuộc tính private. Vậy thì hôm nay, chúng ta lại tiếp tục tìm hiểu thêm một từ khóa mới static, xem từ khóa này là gì, và nó có công dụng gì nữa nhé.