Xây Dựng Lớp Trong Java Với Nạp Chồng (overloading) Và Kết Tập ...
Có thể bạn quan tâm
1. Nạp chồng phương thức của lớp trong Java
Chữ ký của phương thức bao gồm:
- Tên phương thức (method name)
- Số lượng các tham số và kiểu của chúng

Nạp chồng phương thức của lớp:
Nạp chồng phương thức (method overloading): các phương thức trong cùng một lớp có thể trùng tên nhưng khác chữ ký.
- Số lượng tham số khác nhau.
- Nếu cùng số lượng tham số thì kiểu dữ liệu các tham số phải khác nhau.
Mục đích:
- Tên trùng nhau để mô tả bản chất công việc.
- Thuận tiện cho lập trình vì không cần phải nhớ quá nhiều tên phương thức mà chỉ cần nhớ một tên và lựa chọn các tham số cho phù hợp.
Ví dụ nạp chồng phương thức với số lượng tham số khác nhau
class MethodOverloading { private static void display(int a){ System.out.println("Arguments: " + a); } private static void display(int a, int b){ System.out.println("Arguments: " + a + " and " + b); } public static void main(String[] args) { display(1); display(1, 4); } }Kết quả
Arguments: 1 Arguments: 1 and 4Ví dụ nạp chồng phương thức với kiểu dữ liệu của tham số khác nhau
class MethodOverloading { // this method accepts int private static void display(int a){ System.out.println("Got Integer data."); } // this method accepts String object private static void display(String a){ System.out.println("Got String object."); } public static void main(String[] args) { display(1); display("Hello"); } }Kết quả
Got Integer data. Got String object.Các bạn không nên lạm dụng nạp chồng phương thức, chỉ sử dụng khi cần thiết để tránh lời gọi hàm mơ hồ.
2. Xây dựng lớp với kết tập (aggregation) trong Java
Khi xây dựng lớp, trường hợp các thuộc tính của một lớp là những đối tượng của một lớp khác. Hiện tượng đó gọi là kết tập (aggregation) trong Java.
Thứ tự khởi tạo:
Khi một đối tượng được tạo mới, các thuộc tính của đối tượng đó đều phải được khởi tạo và gán những giá trị tương ứng.
Các đối tượng thành phần được khởi tạo trước. Các phương thức khởi tạo các đối tượng của lớp thành phần được thực hiện trước.class Diem { private int x, y; public Diem() {} public Diem(int x, int y) { this.x = x; this.y = y; } public void setX(int x) { this.x = x; } public int getX() { return x; } public void hienThiDiem(){ System.out.print("(" + x + ", " + y + ")"); } } class TuGiac { private Diem d1, d2, d3, d4; public TuGiac(Diem p1, Diem p2, Diem p3, Diem p4) { d1 = p1; d2 = p2; d3 = p3; d4 = p4; } public TuGiac() { d1 = new Diem(); d2 = new Diem(0,1); d3 = new Diem (1,1); d4 = new Diem (1,0); } public void printTuGiac() { d1.hienThiDiem(); d2.hienThiDiem(); d3.hienThiDiem(); d4.hienThiDiem(); System.out.println(); } } public class Main { public static void main(String args[]){ Diem d1 = new Diem(2,3); Diem d2 = new Diem(4,1); Diem d3 = new Diem(5,1); Diem d4 = new Diem(8,4); TuGiac tg1 = new TuGiac(d1, d2, d3, d4); TuGiac tg2 = new TuGiac(); System.out.print("Cac diem cua tu giac tg1: "); tg1.printTuGiac(); System.out.print("Cac diem cua tu giac tg2: "); tg2.printTuGiac(); } }
Kết quả
Cac diem cua tu giac tg1: (2, 3)(4, 1)(5, 1)(8, 4) Cac diem cua tu giac tg2: (0, 0)(0, 1)(1, 1)(1, 0)Lớp TuGiac có các thuộc tính là lớp Diem. Hay nói cách khác, các đối tượng Diem thuộc về đối tượng TuGiac hoặc đối tượng Diem là một phần của đối tượng TuGiac.
- Chương trình tìm dãy số Fibonacci trong Java
- Kiểu dữ liệu cấu trúc (struct) trong C++: định nghĩa và khai báo biến
- Lịch sử ra đời và đặc điểm của ngôn ngữ lập trình Java
- Cấu trúc rẽ nhánh if…else trong PHP
- Thay thế chuỗi hoặc mảng với hàm str_replace() trong PHP
Từ khóa » Sử Dụng Overloading Trong Java
-
Java Bài 29: Nạp Chồng Phương Thức (Overloading)
-
Overriding Và Overloading Trong Java - Freetuts
-
Sự Khác Nhau Giữa Overloading Và Overriding Trong Java - VietTuts
-
Nạp Chồng Phương Thức Trong Java - VietTuts
-
Overloading Method - Nạp Chồng Hàm Trong Java - STDIO
-
Overriding Và Overloading Trong Java | How Kteam
-
Hiểu Overloading Và Overriding Thông Qua Vật Phẩm Game - Viblo
-
Bạn Đã Phân Biệt Được Overriding Và Overloading? - CodeLearn
-
Method Overloading Trong JAVA
-
Nạp Chồng Phương Thức Trong Java
-
Overloading Trong Java | Phần 2 - Lập Trình Hướng Đối Tượng
-
Java 43. Nạp Chồng Phương Thức - Overloading Trong Java
-
Method Overloading Trong Java Với Ví Dụ Cụ Thể - Deft Blog
-
Overloading Trong Java - Quách Quỳnh