面向对象编程有三大特性:封装、继承、多态

面向对象编程有三大特性:封装、继承、多态。

文章目录

        • 面向对象编程有三大特性:封装、继承、多态。
    • 封装
      • 1.什么是封装
      • 2.封装的优点:
      • 3.封装的步骤
        • 修改字段的可见性:public-->private
        • 设置getter/setter方法
        • 布尔类型属性的Getter
    • 继承
      • 1.什么是继承
      • 2.为什么需要继承
      • 3.能继承什么?不能继承什么?
    • 多态
      • 1.什么是多态
      • 2.实现多态的三个条件
      • 3.调用的时候注意事项
      • 3.调用的时候注意事项

封装

1.什么是封装

java中封装的实质就是将类的状态信息(成员变量)、方法等隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

2.封装的优点:

  • 防止外部直接访问类的内部数据,可以保护数据的安全性。
  • 通过限制外部访问,可以更好的控制数据的正确性和完整性。
  • 可以隐藏类的实现细节,使得类的用户不需要了解类的内部实现细节,只需要知道如何使用类提供的接口。

3.封装的步骤

  • 修改字段的可见性:public–>private

  • 设置getter/setter方法

    • 布尔类型属性的Getter

      命名规则:使用属性名前加上is作为方法名前缀,属性名的首字母通常大写

      返回类型:通常是boolean类型

      方法体:返回属性的值

继承

1.什么是继承

Java的继承通过extends关键字来实现,实现继承的类被称为子类,被继承的类称为父类(或叫基类、超类)。

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的行为,并且子类可以通过调用super关键字来访问父类的构造方法和成员变量。

2.为什么需要继承

解决编程中的代码冗余问题;

  1. 代码重用:继承允许子类继承父类的属性和方法,避免了重复编写相代码的可维护性和可读性。
  2. 扩展性:通过继承,可以在子类中添加新的属性和方法,或者覆盖父类的方法,以实现特定的行为。这样可以在不改变父类代码的情况下,对类进行扩展和定制,满足不同的需求。
  3. 多态性:继承是实现多态性的基础。多态性指的是同一个方法可以根据调用对象的不同而表现出不同的行为。通过继承,可以将子类对象赋值给父类引用,然后通过父类引用调用方法,实现对不同子类对象的统一操作。
  4. 继承链:继承可以形成继承链,通过多层次的继承关系,可以建立更加复杂的类结构。这样可以更好地组织和管理代码,提高代码的结构化和可扩展性。

3.能继承什么?不能继承什么?

  • 同包下,可以被继承的有⾮ private 的成员(变量、⽅法、成员类、成员接⼝等),不同包,可以被继承的有public protected 修饰的成员(变量、⽅法、成员类、成员接⼝等)。
  • ⼀定不能被继承的有静态初始化器、实例初始化器、构造⽅法、私有属性、私有⽅法、私有成员类、私有成员接⼝等。

多态

1.什么是多态

通常含义是指能够呈现多种不同的形式或形态,也就是根据用到不同对象类型,响应不同操作,方法重写是多态的基础。重写是运行时多态,重载是编译时的多态。

2.实现多态的三个条件

(1)子类继承父类,并且子类重写父类方法。

(2)父类引用指向子类对象(父类引用可以指向任意一个子类对象)。

(3)父类引用调用方法时,实际上调用的时子类的方法(父类指向哪个子类就调用哪个子类的方法),不同的子类有不同的方法实现,体现出同一个方法在不同子类中的不同形态的表现

3.调用的时候注意事项

(1)父类只能调用子类从父类继承的方法或者重写的方法。

(2)父类不能调用子类新增的方法。

3.调用的时候注意事项

(1)父类只能调用子类从父类继承的方法或者重写的方法。

(2)父类不能调用子类新增的方法。

你可能感兴趣的:(java,Java基础,面向对象,java,算法,开发语言)