美文网首页
面向对象介绍

面向对象介绍

作者: 小小土豆dev | 来源:发表于2017-11-09 23:22 被阅读0次

最近看到了“面向对象”,所以将以前积累的知识以作笔记,一方面:用来记录自己的学习,另一方面:希望对一些朋友有点帮助。

书名:《跃迁:成为高手的技术》

再学习之前,我们先看两个官方的概念:

面向对象编程(OOP)

面向对象是一种比较符合人们习惯的思维方式,在面向对象看来,世界是抽象的,万事万物都是对象,都是可抽象化,可对象化的。面向对象认为事物都是独立的,不以外物而改变对象本身,事物的运动是对象本身的行为(方法),对象对外界只开放一个通信的小接口,并不敞开怀抱;代码层上来说,面向对象把数据和对数据的操作都存放在一起,都是对象的组成!面向对象编程本质上是抽象,程序的好坏与抽象的好坏成正比!

面向过程编程(POP)

面向过程是另一种思维方式,用面向过程来看世界,事物都是有关联,存在着因果关系的,有某种规则组织着事物的运动,有起点,有终点,是一种线性的发展过程。在解决现实问题时,总是从开始解决问题(起点)到问题被解决(终点),中间是解决问题的一系列步骤,这些解决问题的步骤用面向过程来编程就是函数。我们只要严格按照函数调用的顺序来调用函数,问题最终就能被解决;代码层上来讲,面向过程的编程中数据存储和对数据的操作是独立存放的。

OC 是面向对象的,C是面向过程的。说白了,面向对象和面向过程只是解决问题的两种不同思想。

在学习面向对象时,建议和面向过程对比去学习,因为这样你才会有所体会两者的不同,通过对比,从而对面向对象有更深的理解。

举例:

我们要修理一辆汽车:

面向对象思维:

第一步:去找修理工

第二步:告诉修理工要修理汽车

面向过程思维:

第一步:找工具

第二步:买零件

第三步:拆汽车

第四步:修理汽车

......

分析:

1、面向过程关注的是解决问题需要哪些步骤(每个步骤可以理解为代码中的函数)

2、面向对象关注的是解决问题需要哪些对象(对象理解为代码中类的实例)

现实生活中面向对象的例子

- 吃饭(去饭店找服务员,而不是自己去买菜,洗菜,炒菜)

- 境界:万物皆对象


类和对象的关系

面向对象中有2个非常重要的概念:类和对象

一:如何创建对象

面向对象解决问题的时候必须有对象,那如何创建对象呢?

- 现实生活的例子:如何创造汽车对象?

- 需要先有汽车的建造图纸,图纸上描述清楚汽车应该具备的属性和功能(行为)

- 属性:轮子数、时速

- 功能(行为):跑

- 然后再根据图纸上的描述生产汽车

- 每一辆汽车都是对象,都有自己具体的属性值,都是图纸的实例

- 图纸是抽象的,汽车是具体的。图纸是对汽车对象的高度概括

二:OC 中的面向对象

- OC中的类相当于图纸,用来描述一类事物。也就是说,要想创建对象,必须先有类

- OC利用类来创建对象,对象是类的具体存在

- 因此,面向对象解决问题应该是先考虑需要设计哪些类,再利用类创建多少个对象

三:需要设计哪些类,如何设计类

类的设计,只关心3样东西:

- 事物名称(类名):人(Person)

- 属性:身高(height)、年龄(age)

- 行为(功能):跑(run)、打架(fight)

下一篇:面向对象:6大原则、24种设计模式

相关文章

  • 面向对象_初识

    目录 面向对象编程介绍 类与对象介绍 私有属性与私有方法 面向对象编程 1. 面向对象编程介绍 面向对象编程:Ob...

  • Python基础入门 - 面向对象

    1. 初识面向对象 1.1 介绍 步骤介绍面向对象的概述面向对象的实现面向对象的应用内存管理进程、线程、协程 概要...

  • JavaScript学习笔记(一)

    Javascript面向对象 1. 面向对象编程介绍 1.1 两大编程思想 面向过程 & 面向对象 1.2 面向过...

  • 面向对象介绍

    最近看到了“面向对象”,所以将以前积累的知识以作笔记,一方面:用来记录自己的学习,另一方面:希望对一些朋友有点帮助...

  • 【Java】认识类和对象

    一. 面向对象的介绍和理解 1. 面向对象的介绍 Java是一门纯面向对象的语言(Object Oriented ...

  • python 10天快速教程 Day7

    本节重点 面向对象介绍 简单类与对象 魔法方法 继承、super 私有属性与私有方法 一、面向对象介绍 面向过程:...

  • Javascript面向对象编程

    阮一峰文档备忘 Javascript 面向对象编程(一):介绍封装 Javascript 面向对象编程(二):介绍...

  • 面向对象

    面向对象有3大特性:封装、继承、多态1、介绍面向对象编程 面向对象编程(Object Oriented Progr...

  • python 高级 面向对象编程(OOP)

    面向对象有3大特性:封装、继承、多态 1、介绍面向对象编程 面向对象编程(Object Oriented Pro...

  • JS高级3-语言特性

    一、 JS面向对象编程 1、 面向对象介绍 什么是对象? Everything is object (万物皆对象)...

网友评论

      本文标题:面向对象介绍

      本文链接:https://www.haomeiwen.com/subject/ufpumxtx.html