天天看点

面向对象编程OOP(Object Oriented Programming)

面向对象的三大特性:封装,继承,多态。

封装

就是将类的实现和使用分开,将内部属性和方法隐藏好,只保留部分接口和方法与外部联系。

在Java中,对象被封装之后会提供四种权限修饰符来提供不同的类进行访问。

访问权限如下表:

权限修饰符 同一个类 相同包 子类 其他包
public
protected X
default X X
private X X X

继承

子类自动继承父类开放的属性和方法,并可以增加新的属性和方法或对部分属性和方法进行重写,继承提高了代码的可用性。

多态

多态的定义是允许不同类对同一消息作出响应,也就是同一消息根据对象的不同而采取不同的行为方式。

多态有三种表现形式,一种是重载(overload),一种是覆盖(override),还有一种是接口的实现。
  • 重载

    重载发生在同一类中,跟父类,继承并没有什么关系,是指方法名一样,参数个数不一样,就会引起方法的重载。这种重载实际上是两个不相同的方法,只是方法名字一样,为了代码阅读方便。

  • 覆盖

    覆盖则是出现在子类继承父类的情况下,子类需要完全改写父类的方法以获得不同的功能。

  • 接口的实现

    接口的实现可以根据不同类的需求来实现这个接口。

  • 总结

    所以多态的好处是灵活性和可拓展性。