面向对象

面向对象编程(OOP):Java是一种面向对象的编程语言,它支持封装、继承和多态等OOP的核心概念,使得程序更加灵活、可维护和可扩展。

封装

封装(Encapsulation):

封装是指将数据和对数据的操作封装在一个类中,通过访问修饰符来限制对数据的直接访问。通过封装,可以隐藏数据的实现细节,提供公共的方法来访问和操作数据,增加了代码的安全性和可维护性。

public class OOPTest {
    private String name;
    private int gender;
    private int age;

    public String getName() {
        return name;
    }
    public String getGender() {
        return gender == 0 ? "男" : "女";
    }
    public void canWork() {
        if (18 <= age && age <= 50) {
            System.out.println(name + " 正常上班");
        } else {
            System.out.println(name + " 该退休了");
        }
    }
}

继承

继承(Inheritance):

继承是指一个类可以继承另一个类的特性和行为。通过继承,子类可以继承父类的属性和方法,并且可以在子类中添加新的属性和方法,实现代码的重用和扩展。继承可以建立类之间的关系,形成类的层次结构。

继承应该遵循里氏替换原则,子类对象必须能够替换掉所有父类对象。

父类引用指向子类对象称为 向上转型

public class OOPChildTest extends OOPTest{
    @Override
    public void canWork() {
        if (18 <= getAge() && getAge() <= 50) {
            System.out.println(getName() + " 正常上班");
        } else {
            System.out.println(getName() + " 退什么休,我还能干");
        }
    }
}

多态

多态(Polymorphism):

多态是指一个对象可以具有多种形态或类型。在面向对象编程中,多态性允许使用父类类型的引用来引用子类对象,通过方法的重写和方法的重载,实现同一个方法在不同对象上的不同行为。多态性提高了代码的灵活性和可扩展性,使得程序更加通用和易于维护。

  • 编译时多态:主要指方法的重载
  • 运行时多态:程序中定义的对象引用所指向的具体类型在运行期间才确定
public interface A {
    void a();
}
public class B implements A{
    @Override
    public void a() {
        System.out.println("b");
    }
}
public class C implements A{
    @Override
    public void a() {
        System.out.println("c");
    }
}
Last Updated:
Contributors: 拔土豆的程序员