说说你对面向对象的理解

其实,面向对象是对现实世界的一种抽象,他将现实世界模块化,即“万物皆对象的概念”,对于java来说一切皆对象,在面向对象编程中,最常表现的就是基于类来实现的,每一个对象实例都有具体的类。比如,对于人来说,他们都有共同的特征,我们将这些共同的特征具体化为类,然后去实例化这个类,比如可以将人这个类,实例化成小红和向明,他们是都有性别这个属性,但是小红是女生,向明是男生,在实例化的时候我们就会发现更具体了,每个实例化的对象都是具有自己独特的特征属性的

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

封装:通过隐藏对象的具体的实现细节,将数据和操作包装在一起,对象与对象之间是通过消息传递机制实现互相通信(方法的调用),具体的表现就是通过提供访问接口实现消息的传入传出,封装通过访问权限来控制接口间的通信,即对象和对象之间互相的访问

封装的意义:封装隐藏了具体的实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,实现的改变对使用的一方是没有任何感知的,提高了程序的可维护性,而且封装鼓励程序员把特定的数据与对数据操作的功能打包在一起,即类。有利于程序的去耦

继承:类与类之间可以相互继承,通过继承得到的类为子类,被继承的类为父类,子类具有自己的特性和方法,同时他也可以使用父类的方法或者重写父类的方法,继承是为了复用代码

多态:

这篇文章不错

多态有三个要素:继承,重写和向上转型

经验分享 程序员 微信小程序 职场和发展