Share polymorphism in java

bluegorilla754

New member
#Java #polymorphism #Theo lập trình hướng đối tượng #Programming #phần mềm-con phát triển ## đa hình trong Java

Đa hình là một khái niệm mạnh mẽ trong lập trình hướng đối tượng (OOP).Nó cho phép bạn viết mã có thể hoạt động với các loại đối tượng khác nhau theo một cách duy nhất.Điều này có thể làm cho mã của bạn linh hoạt hơn và dễ bảo trì hơn.

Có hai loại đa hình chính trong Java: ** Biên dịch đa hình thời gian ** và ** Đa hình thời gian chạy **.

*** Biên dịch tính đa hình thời gian ** xảy ra khi bạn có một phương pháp có cùng tên trong các lớp khác nhau.Khi bạn gọi phương thức này trên một đối tượng, trình biên dịch sẽ xem loại đối tượng và gọi đúng phương thức.
*** Đa hình thời gian chạy ** xảy ra khi bạn có một phương pháp với số lượng đối số thay đổi.Khi bạn gọi phương thức này trên một đối tượng, hệ thống thời gian chạy sẽ xác định số lượng đối số và gọi đúng phương thức.

Dưới đây là một ví dụ về tính đa hình thời gian biên dịch:

`` `java
lớp động vật {
công khai void speak () {
System.out.println ("nói động vật");
}
}

Lớp học mở rộng động vật {
@Ghi đè
công khai void speak () {
System.out.println ("Chó sủa");
}
}

lớp học đa hình công khai {
công khai void void main (String [] args) {
Động vật động vật = động vật mới ();
động vật.speak ();// nói động vật

Dog Dog = New Dog ();
Dog.Speak ();// Chó sủa
}
}
`` `

Trong ví dụ này, phương thức `speak ()` được xác định trong cả hai lớp `động vật` và` dog`.Khi chúng ta gọi phương thức `speak ()` trên một đối tượng `animal`, trình biên dịch sẽ gọi phương thức` speak () `trong lớp` animal`.Khi chúng ta gọi phương thức `speak ()` trên đối tượng `dog`, trình biên dịch sẽ gọi phương thức` speak () `trong lớp` dog`.

Dưới đây là một ví dụ về tính đa hình thời gian chạy:

`` `java
Hình dạng lớp {
công khai tóm tắt khoảng trống ();
}

Vòng tròn lớp mở rộng hình dạng {
@Ghi đè
public void Draw () {
System.out.println ("Vẽ một vòng tròn");
}
}

lớp vuông mở rộng hình dạng {
@Ghi đè
public void Draw () {
System.out.println ("Vẽ một hình vuông");
}
}

lớp học đa hình công khai {
công khai void void main (String [] args) {
Hình dạng hình dạng = vòng tròn mới ();
hình.draw ();// Vẽ một vòng tròn

hình dạng = hình vuông mới ();
hình.draw ();// Vẽ một hình vuông
}
}
`` `

Trong ví dụ này, phương thức `draw ()` được xác định trong lớp `hình dạng '.Tuy nhiên, phương thức `draw ()` được triển khai khác nhau trong các lớp `circle` và` square`.Khi chúng ta gọi phương thức `draw ()` trên đối tượng `sapape`, hệ thống thời gian chạy sẽ xác định loại đối tượng và gọi phương thức` draw () `chính xác.

Đa hình là một công cụ mạnh mẽ có thể giúp bạn viết mã linh hoạt và có thể duy trì hơn.Bằng cách hiểu các loại đa hình khác nhau và cách chúng hoạt động, bạn có thể sử dụng đa hình để cải thiện chất lượng mã của bạn.

## hashtags

* #Java
* #polymorphism
* #lập trình hướng đối tượng
* #Programming
* #phát triển phần mềm
=======================================
#Java #polymorphism #object-oriented-programming #Programming #Software-development ## Polymorphism in Java

Polymorphism is a powerful concept in object-oriented programming (OOP). It allows you to write code that can work with different types of objects in a single way. This can make your code more flexible and easier to maintain.

There are two main types of polymorphism in Java: **compile-time polymorphism** and **runtime polymorphism**.

* **Compile-time polymorphism** occurs when you have a method with the same name in different classes. When you call this method on an object, the compiler will look at the type of the object and call the correct method.
* **Runtime polymorphism** occurs when you have a method with a variable number of arguments. When you call this method on an object, the runtime system will determine the number of arguments and call the correct method.

Here is an example of compile-time polymorphism:

```java
class Animal {
public void speak() {
System.out.println("Animal speaking");
}
}

class Dog extends Animal {
@Override
public void speak() {
System.out.println("Dog barking");
}
}

public class PolymorphismTest {
public static void main(String[] args) {
Animal animal = new Animal();
animal.speak(); // Animal speaking

Dog dog = new Dog();
dog.speak(); // Dog barking
}
}
```

In this example, the `speak()` method is defined in both the `Animal` and `Dog` classes. When we call the `speak()` method on an `Animal` object, the compiler will call the `speak()` method in the `Animal` class. When we call the `speak()` method on a `Dog` object, the compiler will call the `speak()` method in the `Dog` class.

Here is an example of runtime polymorphism:

```java
class Shape {
public abstract void draw();
}

class Circle extends Shape {
@Override
public void draw() {
System.out.println("Drawing a circle");
}
}

class Square extends Shape {
@Override
public void draw() {
System.out.println("Drawing a square");
}
}

public class PolymorphismTest {
public static void main(String[] args) {
Shape shape = new Circle();
shape.draw(); // Drawing a circle

shape = new Square();
shape.draw(); // Drawing a square
}
}
```

In this example, the `draw()` method is defined in the `Shape` class. However, the `draw()` method is implemented differently in the `Circle` and `Square` classes. When we call the `draw()` method on a `Shape` object, the runtime system will determine the type of the object and call the correct `draw()` method.

Polymorphism is a powerful tool that can help you write more flexible and maintainable code. By understanding the different types of polymorphism and how they work, you can use polymorphism to improve the quality of your code.

## Hashtags

* #Java
* #polymorphism
* #object-oriented-programming
* #Programming
* #Software-development
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top