封装、抽象、继承、多态分别可以解决哪些编程问题?

关于封装特性


   封装也叫作信息隐藏或者数据访问保护.类通过暴露有限的访问接口,受权外部仅能通过类提供的方式来访问内部信息或者数据.它需要编程语言提供权限访问控制语法来支持,例如Java中的privateprotectedpublic关键字.
   封装特性存在的意义:一方面是保护数据不被随意修改,提高代码的可维护性;另一方面是仅暴露有限的必要接口,提高类的易用性.

关于抽象特性


   封装主要讲如何隐藏信息、保护数据,那抽象就是讲如何隐藏方法的具体实现,让使用者只需关心方法提供了哪些功能,不需要知道这些功能是如何实现.抽象可以通过接口或者抽象类来实现.
   抽象存在的意义: 一方面是提高代码的可扩展性、维护性、修改实现不需要改变定义,减少代码的改动范围;另一方面,它也是处理复杂系统的有效手段,能有效的过滤掉不必要关注的消息.

关于继承特性

   继承是用来表示类之间的is-a关系,分为两种模式:单继承和多继承,单继承表示一个子类只继承一个父类,多继承表示一个子类可以继承多个父类.为了实现这个特性,编程语言需要提供特殊的语法机制来支持.继承主要是用来解决代码复用的问题.

关于多态特性

   多态是指子类可以替换父类,在实际的代码运行过程中,调用子类的方法实现.多态这种特性也需要编程语言提供特殊的语法机制来实现,比如继承、接口类、duck-typing.多态可以提高代码的扩展性和复用性,是很多设计模式、设计原则、编程技巧的代码实现基础.

posted @ 2023-03-25 09:16  码农界的小田  阅读(31)  评论(0)    收藏  举报