美文网首页Objective-C
02-面向对象语法01

02-面向对象语法01

作者: Andy_Livings | 来源:发表于2020-06-09 23:38 被阅读0次

一、面向对象和面向过程思想

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

1.面向对象和面向过程的区别

1)以用电脑听歌为例子
a)面向过程

  • 打开电脑
  • 播放电脑中的歌曲
  • 关闭电脑

b)面向对象(不是相亲的“对象”)

  • 电脑
    • 开机
    • 播放歌曲
    • 关机

2)区别分析

  • 面向过程关注的是解决问题需要哪些步骤;面向对象关注的是解决问题需要哪些对象
  • 没有开发经验很难感受到它们的区别,两种思想都能达到解决问题的目的,但是解决思路不一样
2.现实生活中面向对象的例子
  • 想打电话\发短信 —> 找手机,不用分析电话要怎样才能拨通
  • 去饭店吃饭 —> 找服务员,不用分析怎么到厨房炒菜
  • 汽车坏了—> 找汽车维修工,不用分析修车的步骤
  • 境界:万物皆对象
3.常用术语
  • 面向过程 Procedure Oriented
  • 面向对象 Object Oriented,简称OO
  • 面向对象编程 Object Oriented Programming,简称OOP

二、类和对象的关系

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

1.如何创建对象

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

2)现实生活的例子:如何创造汽车对象?
a)需要先有汽车的建造图纸,图纸上描述清楚汽车应该具备的属性和功能(行为)

  • 属性:轮子数、时速
  • 功能(行为):跑

b)然后再根据图纸上的描述生成汽车
c)每一辆汽车都是对象,都有自己具体的属性值,都是图纸的实例
d)图纸是抽象的,房子是具体的。图纸是对房子对象的高度概括

2.OC中的面相对象

1)OC中的类相当于图纸,用来描述一类事物。也就是说,要想创建对象,必须先有类
2)OC利用类来创建对象,对象是类的具体存在
3)因此,面向对象解决问题应该是先考虑需要设计哪些类,再利用类创建多少个对象

3.需要设计哪些类,如何设计类

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

  • 事物名称(类名):人(Person)
  • 属性:身高(height)、年龄(age)
  • 行为(功能):跑(run)、打架(fight)

2)一般名词都是类

  • 坦克发射3颗炮弹轰掉了2架飞机
  • 小明在公车上牵着一条叼着热狗的狗

3)拥有相同(或者类似)属性和行为的对象都可以抽像出一个类

  • 愤怒的小鸟游戏界面


    愤怒的小鸟
  • 植物大战僵尸


    植物大战僵尸
  • 新浪微博


    新浪微博—广场

4)类名、属性、行为练习

  • 僵尸、炮弹、车、学生、书本

5)哪个对象最清楚这个行为,就把这个行为写到哪个对象中去。打开电脑(开机)这个行为应该是属于电脑的。

相关文章

  • 02-面向对象语法01

    一、面向对象和面向过程思想 OC是面向对象的,C是面向过程的。面向对象和面向过程只是解决问题的两种不同思想 1.面...

  • Swift 基本语法04-"switch"和

    Swift 基本语法01-Swift简介Swift 基本语法02-"let"和"var"Swift 基本语法03-...

  • Swift 基本语法06-数组和字典

    Swift 基本语法01-Swift简介Swift 基本语法02-"let"和"var"Swift 基本语法03-...

  • Swift 基本语法03-"if let"和

    Swift 基本语法01-Swift简介Swift 基本语法02-"let"和"var"Swift 基本语法04-...

  • Swift 基本语法05-"String"

    Swift 基本语法01-Swift简介Swift 基本语法02-"let"和"var"Swift 基本语法03-...

  • 02-面向对象

    类及对象 类的组成成分:属性(成员变量,Field)方法(成员方法,函数,Method) 属性成员变量 vs 局部...

  • python基础知识(四)---面向对面编程

    python 面向对面编程 面向对象编程(或者可以称为 面向类编程)。 面向对象 提供的是一种 "语法功能", ...

  • Lession04类和对象的应用

    面向过程---------->面向对象 类的基本语法 构造方法 命名空间

  • 封装-02-面向对象

    首先让我们来了解一下什么是对象? 要了解面向对象我们肯定需要先知道对象到底是什么玩意儿。关于对象的理解很简单,在...

  • 02-面向对象练习

    面向对象的特性:封装 定义没有初始值的属性 在设置初始值时,如果不知道设置什么值,可以设置为None None关键...

网友评论

    本文标题:02-面向对象语法01

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