Advertisements
YellowCode.Books

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é.

Android Bài 27: Tìm Hiểu Back Stack

Nếu như ở bài hôm trước, chúng ta đã cùng nhau tạo một Activity mới cho TourNote – ContactActivity. Chắc chắn bạn đã cảm thấy thích thú với việc từ một Activity ban đầu, là MainActivity, nhấn vào item menu trên ActionBar một cái, hệ thống sẽ chuyển sang màn hình mới chính là ContactActivity. Rồi nhấn Back button ở ActionBar hay Back ở System Bar sẽ dẫn bạn quay về MainActivity ban đầu. Vậy thì có khi nào bạn thắc mắc rằng các màn hình bên trong một ứng dụng Android sẽ luân phiên hiển thị ra như thế nào? Một màn hình hiển thị ra thì màn hình kia đi về đâu, có bị xóa khỏi hệ thống không? Tại sao nhấn nút Back lại giúp quay về màn hình trước? Nhấn nhiều nút Back thì sẽ đi đến đâu? Vân vân…

Thì bài học hôm nay chúng ta sẽ chỉ đi vào lý thuyết, để trả lời cho các câu hỏi trên kia thông qua việc giải nghĩa khái niệm và cách hoạt động của Back Stack. Mặc dù chỉ là lý thuyết, nhưng những kiến thức của bài hôm nay sẽ làm nền tảng, được ứng dụng nhiều, và sẽ được mình nhắc đến nhiều ở các bài học sau đấy 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é.

Tổng Hợp Các Công Cụ Lập Trình Android Mà Bạn Nên Biết (Phần 1)

Phải nói rằng thời buổi ngày nay lập trình thật sướng, đặc biệt là lập trình Android. Bởi vì chúng ta được cung cấp hàng tá các công cụ phụ trợ cho việc lập trình. Từ “chính chủ” của Google hay Android Studio, cho đến “chính khách” của các bác “hàng xóm” tốt bụng. Từ quản lý hiệu năng của ứng dụng, cho đến việc mang lại giao diện đẹp hơn… Cái khó trong việc này là làm sao để nhớ hết các công cụ đó, và cách sử dụng chúng hiệu quả nhất. Xuất phát từ nhu cầu đó. Mình bắt đầu tổng hợp các công cụ cần thiết này lại. Vì có khá nhiều công cụ nên mình dự định sẽ chia ra làm 3 phần. Trong đó phần hôm nay sẽ tổng hợp các công cụ cơ bản nhất mà bạn nhất thiết phải biết. Các phần sau sẽ là các công cụ mở rộng hơn, sẽ tốt nếu bạn biết và dùng đến.

Android Bài 26: Làm Quen Với Activity

Còn nhớ, đã rất lâu rồi, từ bài học số 5, chúng ta đã nói sơ qua cấu tạo cơ bản của một ứng dụng Android, trong đó các bạn đã biết đến một chút khái niệm và vai trò của Activity rồi. Nhưng trước đó, ở bài học số 3, khi bạn còn chưa biết đến Android cần có những gì, bạn đã phải tạo cho chính bạn một Activity đầu tiên, có tên là MainActivity, và chúng ta đã cùng xây dựng các dòng code trên Activity đó đến tận bây giờ. Vậy tính ra bạn đã hiểu Activity là gì rồi đúng không. Vậy bài học hôm nay mình sẽ viết gì. Tất nhiên còn một số kiến thức thú vị khác xoay quanh Activity. Như làm sao để tạo thêm nhiều Activity khác. Làm sao để truyền dữ liệu qua các Activity. Cách quản lý các Activity hiệu quả,… sẽ lần lượt được mình trình bày từ bài học hôm nay.

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.

Android Bài 25: Xây Dựng Navigation Drawer

Có lẽ cái tên Navigation Drawer, hay nhiều bạn vẫn gọi là Left Menu, hoặc Slide Menu, không có gì xa lạ với chúng ta cả. Ai cũng biết về nó, ai cũng sử dụng nó hằng ngày. Navigation Drawer được Google giới thiệu vào năm 2013, ngay sau khi ActionBar được trình làng khoảng 2 năm. Navigation Drawer này chỉ đơn giản là một thanh menu được ẩn đi về phía bên trái màn hình. Nó được hiển thị ra khi người dùng nhấn vào icon menu trên Action Bar, giới thiết kế gọi cái icon menu này bằng một cái tên khá hay: “icon Hamburger”, bởi vì trông nó giống như một cái hamburger… bạn tưởng tượng đi nào.

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é.