*抽象理解面向对象:
一.面向过程-洗衣服(站在一个执行者角度去做事情)—1.找个盆 2.收集要洗的衣服 3.放水放洗衣液 4.洗一洗 5.晒一晒 。
二.面向对象-洗衣服(站在一个指挥者角度去做事情)—1.找个对象 2.要他去洗衣服。
*
简介:
通过封装 继承 多态 把程序的耦合度降低,用设计模式使程序更加灵活,容易修改,并且易于重复使用。缩短开发周期,降低了开发工作量,缺点是执行效率会降低。
1.封装,是把客观事物封装成抽象的类,类可以把数据和行为只让可信的类或对象操作,对不可信的进行隐藏;封装是面向对象的特征之一,是类和对象概念的主要特性; 简单的说,一个类就是一个封装了数据以及操作这些数据的行为的逻辑实体,某些数据和行为可以是私有的,不能被外界访问,通过这种方式,对象对内部数据和行为提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分;
2.继承,是可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展的能力; 通过继承创建的类称为子类或派生类,被继承的类称为父类或基类;继承的过程,就是从一般到特殊的过程;要实现继承,可以通过继承和组合(Composition)来实现;继承概念的实现方式有两种:实现继承是指直接使用基类的方法而无需额外编码的能力;接口继承是指仅使用方法的名称,但是子类必须提供实现的能力;
3.多态,是允许将派生类对象赋值给其基类变量的技术,赋值之后,基类
变量就可以根据当前赋值给它的派生类对象的类型以不同的方式运作;简单的说,就是允许将派生类类型的指针赋值给基类类型的指针;
三、面向对象设计的五大基本原则 :S.O.L.I.D
1.单一职责原则(SRP,Single Responsibility Principle):一个类应该有且只有一个去改变它的理由,这意味着一个类应该只有一项工作;
2.开放封闭原则(OCP,Open-Close Principle):对象应该对扩展开放,对修改封闭,这就意味着一个类应该无需修改类本身但却容易扩展;
3. 里氏替换原则(LSP,Liskov Substitution Principle):在对象x为类型T时q(x)成立,那么当S是T的派生类时,对象y为类型S时q(y)也应成立,即对基类的调用同样适用于派生类,每一个基类实例都应该可以替换成它们的派生类实例;
4.接口分离原则(ISP,Interface Segregation Principle):不应强迫客户端实现一个它用不上的接口,或是说客户端不应该被迫依赖它们不使用的方法;
5.依赖反转原则(DIP,Dependency Inversion Principle):对象必须依靠抽象而不是具体实现,它表示高层次的模块不应该依赖于低层次的模块,它们都应该依赖于抽象;
面向对象的三个主要目标
1.灵活性,重用性,扩展性
面向对象的优点:
易维护,易开发,易扩展。
面向对象的缺点
因为继承多,指针操作多,性能内存资源要求高,执行效率相对较低。
相关链接信息
1 OOD:
面向对象设计(Object-Oriented Design,OOD)方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。
2 OOP:
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。
3 OOA:
Object-Oriented Analysis(面向对象分析方法)是确定需求或者业务的角度,按照面向对象的思想来分析业务。例如:OOA只是对需求中描述的问题,进行模块化的处理,描述问题的本质,区别每个问题的不同点相同点,确定问题中的对象。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
4 OO:
OO(Object Oriented,面向对象)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
来源:CSDN
作者:.Selected
链接:https://blog.csdn.net/MrLsss/article/details/104004137