代码随想录第十六天
发布人:shili8
发布时间:2025-01-20 16:39
阅读次数:0
**代码随想录 第十六天**
今天,我们继续讨论 Java 的面向对象编程。我们将学习如何使用继承、多态和接口来实现更复杂的类设计。
### 继承继承是面向对象编程中一个非常重要的概念。它允许我们创建一个新类,继承另一个已有的类的属性和方法。这有助于我们避免重复代码,并且可以更好地组织我们的程序。
下面是一个简单的例子:
javapublic class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating.");
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override public void eat() {
System.out.println("Dog " + getName() + " is eating dog food.");
}
}
在这个例子中,我们定义了一个 `Animal` 类,具有一个 `name` 属性和一个 `eat()` 方法。然后,我们创建了一个 `Dog` 类,它继承自 `Animal` 类,并且重写了 `eat()` 方法。
### 多态多态是指同一个方法在不同类中表现出不同的行为。这可以通过重写父类的方法来实现。
下面是一个例子:
javapublic class Shape {
public void draw() {
System.out.println("Drawing a shape.");
}
}
public class Circle extends Shape {
@Override public void draw() {
System.out.println("Drawing a circle.");
}
}
public class Rectangle extends Shape {
@Override public void draw() {
System.out.println("Drawing a rectangle.");
}
}
在这个例子中,我们定义了一个 `Shape` 类,具有一个 `draw()` 方法。然后,我们创建了两个类 `Circle` 和 `Rectangle`,它们继承自 `Shape` 类,并且重写了 `draw()` 方法。
### 接口接口是抽象类的另一种形式,它们定义了一组方法,但不提供实现。我们可以使用接口来定义一个类必须具有哪些方法。
下面是一个例子:
javapublic interface Printable {
void print();
}
public class Document implements Printable {
@Override public void print() {
System.out.println("Printing a document.");
}
}
在这个例子中,我们定义了一个 `Printable` 接口,它具有一个 `print()` 方法。然后,我们创建了一个 `Document` 类,它实现了 `Printable` 接口,并且提供了 `print()` 方法的实现。
### 总结今天,我们学习了继承、多态和接口这些面向对象编程中的重要概念。我们通过例子来了解如何使用这些概念来设计更复杂的类。
###问题1.什么是继承?
2.什么是多态?
3.什么是接口?
### 答案1. 继承是指一个新类继承另一个已有的类的属性和方法。
2. 多态是指同一个方法在不同类中表现出不同的行为。
3. 接口是抽象类的另一种形式,它们定义了一组方法,但不提供实现。
###代码
javapublic class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating.");
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override public void eat() {
System.out.println("Dog " + getName() + " is eating dog food.");
}
}
javapublic class Shape {
public void draw() {
System.out.println("Drawing a shape.");
}
}
public class Circle extends Shape {
@Override public void draw() {
System.out.println("Drawing a circle.");
}
}
public class Rectangle extends Shape {
@Override public void draw() {
System.out.println("Drawing a rectangle.");
}
}
javapublic interface Printable {
void print();
}
public class Document implements Printable {
@Override public void print() {
System.out.println("Printing a document.");
}
}

