首页 > 其他分享 >面向对象

面向对象

时间:2023-04-24 10:47:02浏览次数:35  
标签:封装 原则 对象 多态 面向对象 模块

面向过程的缺点:随着规模增大,业务复杂度提高,基于一个个函数编写,会变得非常杂乱,后续维护几乎无法完成,况且,任务本身也不见得能完成。

面向对象:比如要完成两个数相加减的运算任务,我们设计一个计算器对象(类),把2个加减任务封装成2个方法,在主程序中,通过对象去完成这个运算任务。

面向对象的好处:我们不管你这这个对象怎么实现的,我只管使用,对象的设计者,可以更集中的研究对象的内部实现,对象的调用者只管用就行了,集众人之长于一身。

 

面向对象的三大特性

(1)封装:隐藏内部实现细节,模块开发者只关心内部实现,模块调用者,只关系接口使用。

  • 好处:安全性保障(避免代码外漏)、快速应用、团队协作。
  • 应用:类是程序基本单元。代码被封装到类里面,一个类是一个单元,是一个封装,方法也是一定程度的封装,模块又是对类的封装。系统在某些时候也是封装的体现。

(2)继承:复用技术

  • 好处:一处更新,处处使用。
  • 弊端:关联会越来越复杂。
  • 我们自己的代码使用继承关系的并不多。

(3)多态

  • 概念:让一个对象的接口可以根据不同的请求,做出不同的响应。
  • 应用:继承多态,接口多态。

二、开发者必须要掌握面向对象的各种原则

  • 单一职责:这个对象就干一件事,必须专注,不能啥都干
  • 开闭原则:需求变化时,尽量减少类的修改,·而是通过扩展来完成,封闭修改,开放扩展。
  • 依赖倒置原则、接口隔离原则、里氏替换原则

总结:学好面向对象编程,就是掌握好面向对象的各种原则、方法,指导我们如何写程序。

标签:封装,原则,对象,多态,面向对象,模块
From: https://www.cnblogs.com/chungeblog/p/17348373.html

相关文章

  • 15面向对象特性
    面向对象特性封装在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其含义是其他程序无法调用。要了解封装,离不开“私有化”,就是将类或者是函数中的某些属性限制在某个区域之内,外部无法调用。封装的作用:1、保护隐私(把不想别人知道......
  • java基础-面向对象-多态(四)
    某一个事务不同的体现形态例如:人:男人、女人动物:猫、狗猫x=new猫();动物x=new猫();1、多态的体现父类的引用指向了自己的子类对象父类的引用也可以接受自己的子类对象2、多态的前提必须是类与类之间有关系,要么继承、要么实现,通常还有一个前提,存在覆盖3、多态的好处多态的出现大大......
  • java基础-面向对象-继承(三)
    This  Super  继承的时候出现的两个关键字,final(不让复写方法)  abstract (必须复写方法)interface(修饰类)  implement继承好处:提高代码的复用性, 让类与类之间产生了关系,提供了另一个特征多态的前提父类的由来,其实是由多个类不断向上抽取共性内容而来的java来说,继承是单......
  • [C++基础] 面向对象、C 与 C++ 区别篇
    [C++基础]面向对象、C与C++区别篇 一、面向对象1面向对象与面向过程的含义?1、面向对象面向对象是把数据及对数据的操作方法放在一起,作为一个相互依存的整体,即对象。对同类对象抽象出其共性,即类,类中的大多数数据,只能被本类的方法进行处理。类通过一些简单的外部接口与......
  • 【中级软件设计师】—(针对上午题)面向对象技术(三十三)
    【中级软件设计师】—(针对上午题)面向对象技术(三十三)一、面向过程和面向对象类123对象消息4567重载89封装101112131415继承16171819答案:BC202122多态编译看左运行看右23242526272829303132动态绑定333435363738面向对象设计原则对扩开放,对修关闭,基类出现的地方,子类一定可以出现;依赖......
  • 面向过程和面向对象的区别
    面向过程和面向对象的区别面向过程思想:步骤清晰简单,第一步做什么,第二部做什么.....面向过程适合处理一些较为简单的问题面向对象思想:物以类聚,分类的思维模式,思考问题首先会细分问题,并将细分之后的问题进行分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进......
  • python_面向对象
    魔法函数魔术访达的一些说明23-24魔术方法并不是来自继承,而是python自带的这些方法,跟类没有关系__getitem__方法因为实现了__getitem__(),所以可以直接遍历这个student对象__getitem__方法的参数item就是相当于数组的下标13行对象实例化对象进行切片操作......
  • 软件开发中的面向对象设计原则和模式
    软件开发中的面向对象设计原则和模式是指在软件设计过程中,遵循一些通用的、经过验证的、有利于提高软件质量和可维护性的指导原则和实践方法。面向对象设计原则和模式的目的是实现高内聚、低耦合、可复用、可扩展、可测试的软件系统。面向对象设计原则是指在定义类、接口和继承......
  • 第六章 面向对象编程
    6.1初识面向对象6.1.1面向过程&面向对象面向过程思想步骤清楚,第一步做什么,第二步做什么面向过程处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独的思考。最后,才对某个分类下的细节进行面......
  • 05_面向对象(进阶)
    五、面向对象(进阶)5.1关键字:this5.1.1this的使用场景目前出现的问题?解决方案?问题:我们在声明setXxx方法时,通过形参给对应的属性赋值。如果形参名和属性名同名,那么该如何在方法内区分这两个变量呢?解决方案:使用this。使用this修饰的变量,表示的是属性(成员变量);没有用this......