面向对象基本概念

面向对象基本概念

面向对象与面向过程的区别

面向对象其实是相对于面向过程而言的,面向过程是指按照事情的过程,一步一步的执行,所有的操作都将是一个整体,像我们了解到C语言就是面向过程的。

而面向对象就是一种对现实世界理解和抽象的方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事务的自然运作模式。JavaC++就是面向对象语言。

项目名称 面向对象程序设计 面向过程程序设计(也叫结构化编程)
定义 面向对象顾名思义就是把现实中的事务都抽象成为程序设计中的“对象”,其基本思想是一切皆对象,是一种“自下而上”的设计语言,先设计组件,再完成拼装。 面向过程是“自上而下”的设计语言,先定好框架,再增砖添瓦。通俗点,就是先定好main()函数,然后再逐步实现mian()函数中所要用到的其他方法。
特点 封装、继承、多态 算法+数据结构
优势 适用于大型复杂系统,方便复用、 适用于简单系统,容易理解
劣势 比较抽象、性能比面向过程低 难以应对复杂系统,难以复用,不易维护、不易扩展
对比 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。

对象与类的区别

类是一个模板,他描述一类对象的行为和状态,如动物、人

对象是类的一个实例,如教师就是人的一个实例化,猫就是动物的一个实例化

面向对象的三大主要特征

封装、继承、多态

1.封装

封装就是一个盒子,将对象的属性和行为看作一个密不可分的整体,不可分割,并且将信息隐藏起来,外界可以了解使用该信息,但是不能改变

封装的优点

  • 良好的封装能够减少耦合,符合程序设计追求“高内聚,低耦合”。
  • 类内部的结构可以自由修改。
  • 可以对成员变量进行更精确的控制。
  • 隐藏信息实现细节。

2.继承

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

Java与C++的区别:C++可以多继承,而Java是单继承

多继承就是一个对象有两个父类,如孩子有一个爸爸,一个妈妈,孩子会继承爸爸和妈妈的行为及属性

继承的好处

  • 提高类代码的复用性

  • 提高了代码的维护性

  • 使得类和类产生了关系

3.多态

多态是同一个行为具有多个不同表现形式或形态的能力。

多态的两种形式:

  1. 方法重载(类内的方法重载):在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。

  2. 对象多态(重写父类的方法):子类对象可以与父类对象进行转换,而且根据其使用的子类不同完成的功能也不同(重写父类的方法)。

参考资料

Java面向对象基本概念

面向对象基本概念_Superme_No1的博客

posted @ 2022-10-05 22:37  Cattle_Horse  阅读(86)  评论(0编辑  收藏  举报