📅  最后修改于: 2023-12-03 15:12:14.146000             🧑  作者: Mango
本篇笔记为 GATE CS 1998 资质考试的第37章,主要涉及继承、接口和多态等相关的知识点。这些知识点在面向对象编程中非常重要,掌握后可以有效地提高编程能力和代码质量。
继承是面向对象编程的核心概念之一。在 Java 中,可以通过 extends
关键字实现继承。子类可以继承父类的属性和方法,并可以通过重写方法实现多态性。示例代码如下:
public class Animal {
void speak() {
System.out.println("I am an animal.");
}
}
public class Dog extends Animal {
@Override
void speak() {
System.out.println("I am a dog.");
}
}
上述代码中,Dog
类继承了 Animal
类,并重写了 speak
方法。在调用 speak
方法时,如果引用变量的实际对象是 Dog
类型,则会调用 Dog
类的 speak
方法。
接口是一种规范或契约,定义了类应该实现的方法。在 Java 中,可以通过 interface
关键字定义接口。示例代码如下:
public interface Printable {
void print();
}
public class Book implements Printable {
@Override
void print() {
System.out.println("Printing a book.");
}
}
上述代码中,Printable
接口定义了一个 print
方法,Book
类实现了 Printable
接口并重写了 print
方法。通过定义接口,可以有效地降低类之间的耦合度。
多态性是面向对象编程中非常重要的概念之一。它允许不同的对象对同一个消息做出不同的反应。在 Java 中,多态性可以通过继承和接口等方式实现。示例代码如下:
public class Animal {
void speak() {
System.out.println("I am an animal.");
}
}
public class Cat extends Animal {
@Override
void speak() {
System.out.println("I am a cat.");
}
}
public class Dog extends Animal {
@Override
void speak() {
System.out.println("I am a dog.");
}
}
public class Main {
public static void main(String[] args) {
Animal[] animals = new Animal[] { new Cat(), new Dog() };
for (Animal animal : animals) {
animal.speak();
}
}
}
上述代码中,Cat
和 Dog
类继承了 Animal
类并重写了 speak
方法。在 Main
类的 main
方法中,定义了一个 Animal
类型的数组,并初始化了两个 Cat
和 Dog
对象的实例。通过循环遍历数组,调用每个对象的 speak
方法。由于 Cat
和 Dog
对象重写了 speak
方法,因此会输出不同的字符串。
本篇笔记介绍了 GATE CS 1998 资质考试的第37章内容,包括继承、接口和多态等相关的知识点。这些知识点是面向对象编程的核心概念,掌握后可以有效地提高编程能力和代码质量。