浅谈——何为面向对象编程
面向对象编程简介
面向对象编程(Object-oriented Programming,缩写:OOP)是软件工程中一种具有对象概念的编程范式(Programming Paradigm),同时也是一种程序开发的抽象方针,与之对应的编程范式还有:函数式编程(Functional Programming)、过程式编程(Procedural Programming)、响应式编程(Reactive Programming)等。
面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象
什么是面的对象
面向对象编程是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向对象
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低
面向对象编程特点
一切皆为对象
1.万物皆对象
对象:用来描述客观事物的一个实体,由一组属性和方法构成
万物皆对象是指我们生活中,或者自然界中任何事物都可以理解为一个对象。
2.类
Java程序以class(类)为组织单元
class关键字定义自定义的数据类型,也是引用数据类型
3.this
this代表其所在函数所属对象的引用 换言之:this代表本类对象的引用
this 可以是函数内的 变量,对象 属性
4.new
new 方法是在类准备将自身实例化时调用
1.创建一个新对象 2.将构造函数的作用域赋给新对象
面向对象三大特征
面向对象的三大特征分别是:封装、继承、多态,这三者是面向对象编程的基本要素
-
封装(Encapsulation)
把客观的事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的类进行信息的隐藏。简单的说就是:封装使对象的设计者与对象的使用者分开,使用者只要知道对象可以做什么就可以了,不需要知道具体是怎么实现的。封装可以有助于提高类和系统的安全性
封装的意义:由于封装隐藏了具体的实现,如果实现的改变或升级对于使用方而言是无感知的,提高程序的可维护性;而且封装鼓励程序员把特定数据与对数据操作的功能打包在一起,有利于应用程序的去耦。 -
继承(Inheritance)
继承指的是建立一个新的派生类,从一个或多个先前定义的类中继承数据和函数,可以重新定义或加进新数据和函数,从而建立了类的层次或等级
继承的意义:继承是代码复用的基础机制 -
多态(Polymorphism)
继承指的是建立一个新的派生类,从一个或多个先前定义的类中继承数据和函数,可以重新定义或加进新数据和函数,从而建立了类的层次或等级
继承的意义:继承是代码复用的基础机制
参考: https://www.jianshu.com/p/3a81c69134c2