什么是面向对象思想

童彪 童彪     2022-08-26     535

关键词:

 

什么是面向对象思想

技术分享 分类:

  面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种优化,操作起来更加的方便,简化了过程。面向对象有三大特征:封装性、继承性、多态性,其中封装性指的是隐藏了对象的属性和实现细节,仅对外提供公共的访问方式,这样就隔离了具体的变化,便于使用,提高了复用性和安全性。对于继承性,就是两种事物间存在着一定的所属关系,那么继承的类就可以从被继承的类中获得一些属性和方法;这就提高了代码的复用性。继承是作为多态的前提的。多态是说父类或接口的引用指向了子类对象,这就提高了程序的扩展性,也就是说只要实现或继承了同一个接口或类,那么就可以使用父类中相应的方法,提高程序扩展性,但是多态有一点不好之处在于:父类引用不能访问子类中的成员。

举例来说:就是:比如说你要去饭店吃饭,你只需要饭店,找到饭店的服务员,跟她说你要吃什么,然后就会给你做出来让你吃,你并不需要知道这个饭是怎么错做的,你只需要面向这个服务员,告诉他你要吃什么,然后他也只需要面向你吃完收到钱就好,不需要知道你怎么对这个饭进行吃。

1、特点:

1:将复杂的事情简单化。

2:面向对象将以前的过程中的执行者,变成了指挥者。

3:面向对象这种思想是符合现在人们思考习惯的一种思想。

2、面向对象的三大特征:封装,继承、多态

1.封装:只隐藏对象的属性和实现细节,仅对外提供公共访问方式

好处:将变化隔离、便于使用、提高复用性、提高安全性

原则:将不需要对外提供的内容隐藏起来;把属性隐藏,提供公共方法对其访问

2.继承:提高代码复用性;继承是多态的前提

注:

①子类中所有的构造函数都会默认访问父类中的空参数的构造函数,默认第一行有super();若无空参数构造函数,子类中需指定;另外,子类构造函数中可自己用this指定自身的其他构造函数。

3.多态

是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象

好处:提高了程序的扩展性

弊端:当父类引用指向子类对象时,虽提高了扩展性,但只能访问父类中具备的方法,不可访问子类中的方法;即访问的局限性。

前提:实现或继承关系;覆写父类方法。

 

第二种理解:

 把一组数据结构 和 处理它们的方法组 成 对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)/泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派(dynamic dispatch)。

 

第三种理解:

 我觉得oop的最核心的思想是 面向数据编程,方法是数据的行为的描述

什么是面向对象的编程思想?

面向对象有三大特性:封装,继承,多态。 面向对象的编程的主要思想是把构成问题的各个事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在解决问题的过程中经历的步骤和行为。对象... 查看详情

java大厂面试必刷题day1:何为面向对象编程的思想?面向对象三大特征是什么?

...题Day1:何为面向对象编程的思想?面向对象三大特征是什么?这道题对于Java从业者来说简单是因为这是一道很基础的面试题,说有深度它又可以完全考察一个Java从业者对于面向对象编程这个重要思想的理解程度。一、何为 查看详情

java大厂面试必刷题day1:何为面向对象编程的思想?面向对象三大特征是什么?

...题Day1:何为面向对象编程的思想?面向对象三大特征是什么?这道题对于Java从业者来说简单是因为这是一道很基础的面试题,说有深度它又可以完全考察一个Java从业者对于面向对象编程这个重要思想的理解程度。一、何为 查看详情

如何用一句话说明什么是面向对象思想?

...候,你不得不放心(也就是说,你不放心也没用,反正你什么都不知道)。如果你不放心就不能让他办事,那多半证明你可能是那种需要haskell的程序员。作者:vczh链接:https://www.zhihu.com/question/19854505/answer 查看详情

面向接口编程详解——思想基础

...词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内... 查看详情

面向对象什么是面向对象

...过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么....面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行独立... 查看详情

面向对象概述(代码片段)

1.1面向对象思想1.1.1面向过程思想与面向对象思想A:什么是面向过程面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。例如:吃煎饼果子利用面向过程的思... 查看详情

面向接口编程详解——思想基础

...词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内... 查看详情

面向对象编程(代码片段)

...程思想核心过程二字,过程指的是解决问题的步骤,即先干什么\再干什么\后干什么基于该思想编写程序就好比在设计一条流水线,是一种机械式的思维方式优点:复杂的问题流程化\进而简单化缺点:可扩展性差面向对象的编程思想核... 查看详情

面向对象——类与对象介绍(代码片段)

...思想该思想核心是过程,指的是解决问题的步骤,即先干什么再干什么。基于该思想编程就像一条流水线,是一种机械式的思维方式优点:复杂问题简单化,流程化缺点:可扩展性差2、面向对象编程思想该思想核心是对象,对... 查看详情

第1章面向对象概述(代码片段)

1.1面向对象思想1.1.1面向过程思想与面向对象思想A:什么是面向过程面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。例如:吃煎饼果子利用面向过程的思... 查看详情

java面向对象----个人参考资料

Java面向对象:什么是面向对象、类与对象、封装、构造方法、static关键字、继承、抽象类、接口、多态一、什么是面向对象1、面向过程思想面向过程:(PO,ProcedureOriented)在理解面向对象思想之前,我首先来回顾一下以前C语... 查看详情

面向对象思想

一、面向对象,这个对象到底是什么?    这个对象不是C#中的实例,C#中我们把一个类的实例也叫做对象,这种对象严格的说应该是面向对象的编程实现(OOP)中的对象,面向对象编程,也不是面向类的实例编程。对... 查看详情

06.01_面向对象(面向对象思想概述)

...6.02_面向对象(类与对象概述)(掌握)*A:我们学习编程是为了什么 *为了把我们日常生活中实物用学习语言描述出来*B:我们如何描述现实世界事物 *属性 就是该事物的描述信息(事物身上的名词) *行为 就是该事物能够做什么(事物身上... 查看详情

面向对象编程思想总结

什么是面向对象编程?  就是把一类具有相同属性和动作的实体抽象成为计算机里面的类,也就是对象的模板,把属性和方法封装成一个类中.处理业务的流程就是对象之间的信息传递.把程序中的所有东西当做对象来进行处理. ... 查看详情

面向对象编程思想

目录什么是面向对象编程一:编程简述二:面向对象编程:三:面向对象的编程语言:什么是面向对象编程一:编程简述编程抽象的来看是一种工具,和做饭的锅、碗、瓢、盆一样帮助我们做成做饭这... 查看详情

浅谈面向对象

...已经有一段时间了,所以在这里总结一下自己学到的1,什么是面向对象:在面向对象编程思想出来之前,我们更多用的是面向过程的编程思想。  面向过程的编程思想和面向对象的编程思想有何区别。面向过程首先着重考虑... 查看详情

关于java面向对象编程和面向接口编程区别

...的“映射”。无论是面向过程还是面向对象或者是其它的什么思想,根本目的都是在计算机中建立现实世界的模型,通过模型的“沙盘推演”,达到解决现实问题的目的。宏观上说,无论是面向对象还是面向过程,都是一种世界... 查看详情