面向对象编程

Posted xiaopanjava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象编程相关的知识,希望对你有一定的参考价值。

面向对象编程

三大特性

  • 封装:是指利用抽象数据类型把数据和基于数据得操作封装起来,使其成为一个不可分割得完整体。数据隐藏在抽象数据内部,尽可能隐藏数据细节,只保留一些数据接口使其与外界发生联系。

    封装得目的是增强安全性和简化编程,使用者不必了解具体得实现细节,而只要通过外部接口,以特定的访问权限来使用类得成员。

  • 继承:Java不支持多继承,一个子类只能有一个父类。但父类可以有多个子类。

  • 多态:多态同一个行为具有多个不同表现形式或形态能力。是指一个类实例化(对象)的相同方法在不同情形有不同的表现形式。

    多态存在的三个条件:继承、重写、父类引用指向子类对象。

抽象

注意点:
  • 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。

  • 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

  • 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。

  • 构造方法、类方法(用static修饰的方法)不能声明为抽象方法。

  • 抽象类的子类必须给出抽象类中的抽象方法的具体实现(重写),除非该类也声明为抽象类。

接口与抽象类的区别
  • 抽象类的方法中可以有方法体,但接口中的方法不行。

  • 抽象类的成员变量可以是各种类型的,而接口中的成员变量只能被public static final修饰。

  • 接口中不能含有静态代码块与静态方法,而抽象类中可以有。

  • 一个类只能继承一个类,但一个类可以实现多个接口。

异常

技术图片

以上是关于面向对象编程的主要内容,如果未能解决你的问题,请参考以下文章

Golang 面向对象编程

Python入门-6面向对象编程:01面向对象和面向过程区别-对象的进化

如何在C语言里实现“面向对象编程”

面向对象(对象和类)

面向对象编程——面向对象和面向过程

面向对象编程