Posted in

Ngày 1: Bắt đầu với Overriding và Overloading trong Java.

Ngày 1: Bắt đầu với Overriding và Overloading trong Java.

Java hỗ trợ tính năng đa hình thông qua việc ghi đè (overriding) và nạp chồng (overloading) các method.

– Ghi đè (Overriding) là kỹ thuật cho phép một subclass cung cấp một triển khai khác cho một method đã được định nghĩa trong superclass của nó. Điều này giúp subclass có thể tùy chỉnh hành vi cụ thể chỉ cho nó, mà không ảnh hưởng đến các instance của superclass.

Ví dụ:
“`Java
class Animal {
void eat() {
System.out.println(“Animal is eating…”);
}
}

class Dog extends Animal {
// Overriding
void eat() {
System.out.println(“Dog is eating…”);
}
}
“`
– Nạp chồng (Overloading) là kỹ thuật cho phép một class có nhiều method cùng tên nhưng khác số lượng hoặc kiểu dữ liệu của tham số.

Ví dụ:
“`Java
class Demo {
void sum(int a, int b) {
System.out.println(“sum is “+(a+b));
}

// Overloading
void sum(int a, int b, int c) {
System.out.println(“sum is “+(a+b+c));
}
}
“`
5 câu hỏi ôn tập:

1. Hướng đối tượng trong Java gồm những nguyên tắc nào?
2. Định nghĩa Overriding và Overloading trong Java?
3. Điểm khác nhau giữa Overriding và Overloading là gì?
4. Làm thế nào để ứng dụng Overriding trong thực tế? Hãy đưa ra một ví dụ.
5. Làm thế nào để ứng dụng Overloading trong thực tế? Hãy đưa ra một ví dụ.

Câu trả lời:

1. Hướng đối tượng trong Java gồm 4 nguyên tắc: Đóng gói (Encapsulation), Kế thừa (Inheritance), Đa hình (Polymorphism), Trừu tượng (Abstraction).
2. Overriding là kỹ thuật cho phép một subclass cung cấp một triển khai khác cho một method đã được định nghĩa trong superclass của nó. Overloading là kỹ thuật cho phép một class có nhiều method cùng tên nhưng khác số lượng hoặc kiểu dữ liệu của tham số.
3. Overriding liên quan đến việc tạo lại một method trong subclass có cùng tên, số lượng và kiểu dữ liệu của tham số như trong superclass. Trong khi đó, Overloading xảy ra khi cùng một class có nhiều method cùng tên nhưng với số lượng hoặc kiểu dữ liệu tham số khác nhau.
4. Ví dụ về Overriding: class Animal có method eat(), class Dog extends Animal là subclass của Animal, và ta xây dựng lại method eat() để nó in ra “Dog is eating…” thay vì “Animal is eating…”.
5. Ví dụ về Overloading: class Demo có 2 method sum(). Một method với 2 tham số int để in ra tổng của 2 số, method thứ 2 – một phiên bản overload của sum() với 3 tham số int để in ra tổng của 3 số.

Leave a Reply

Your email address will not be published. Required fields are marked *