你好,我是程序员雪球,接下来与你一起学习什么是面向对象编程。
面向对象编程是一种编程风格。它以类或对象作为组织代码的基本单元,并将封装,抽象,继承,多态四个特性,作为代码设计的实现基石。
什么是面向对象分析和面向对象设计?
简单来说,面向对象分析就是要搞清楚做什么,面向对象设计就是搞清楚怎么做。两个阶段最终的产出是类的设计,包括程序被拆解为哪些类?每个类有哪些属性方法,类与类之间如何交互等等。
如何理解面向对象编程四大特性的作用?
封装
也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权函数来访问内部信息或数据。它需要编程语言提供权限访问控制语法来支持,比如JAVA中的private,protected,public关键字。
封装的意义:一保护数据不被随意修改,提高代码的可维护性;二仅暴露有限的必要接口,提高类的易用性。
抽象
主要是如何隐藏方法的具体实现,让使用者只关心方法提供了哪些功能,抽象通过接口类和抽象类来实现,比如JAVA的interface和abstract关键字语法。
抽象的意义:一提高代码的可扩展性,维护性,减少代码的改动范围;二处理复杂系统的有效手段,能有效地过滤掉不必要关注的信息。
继承
表示类之间的is-a关系,分为两种模式:单继承和多继承,单继承表示一个子类只能继承一个父类,多继承表示一个子类可以继承多个父类。继承主要是用来解决代码复用的问题。
但是过渡使用继承,继承层次过深过复杂,就会导致代码可读性,可维护性差,所以应该“多用组合少用继承”。
多态
指子类可以替换父类,在实际的代码运行过程中,调用子类的方法实现。多态这种特性需要编程语言提供特殊的语法机制来实现,比如继承,接口类,duck-typing。多态可以提高代码的扩展性和复用性,是很多设计模式,设计原则,编程技巧的代码实现基础。
我的分享完毕。
欢迎评论,关注,点赞加收藏,并转发给其他人,后期我会持续更新。