zoukankan      html  css  js  c++  java
  • 【学习笔记】【OC语言】面向对象思想

    一、面向对象和面向过程思想
    OC是面向对象的,C是面向过程的。面向对象和面向过程只是解决问题的两种不同思想
    1.面向对象和面向过程的区别
    1》以用电脑听歌为例子
    面向过程
    打开电脑
    播放电脑中的歌曲
    关闭电脑

    2》面向对象(不是相亲的“对象”)
    电脑
    开机
    播放歌曲
    关机

    2.区别分析
    面向过程关注的是解决问题需要哪些步骤;面向对象关注的是解决问题需要哪些对象
    没有开发经验很难感受到它们的区别,两种思想都能达到解决问题的目的,但是解决思路不一样

    现实生活中面向对象的例子
    想打电话发短信 找手机,不用分析电话要怎样才能拨通
    去饭店吃饭 找服务员,不用分析怎么到厨房炒菜
    汽车坏了 找汽车维修工,不用分析修车的步骤
    境界:万物皆对象

    3.常用术语
    面向过程 Procedure Oriented
    面向对象 Object Oriented,简称OO
    面向对象编程 Object Oriented Programming,简称OOP

    二、类和对象的关系
    面向对象中有2个非常重要的概念:类和对象
    1.如何创建对象
    现实生活的例子:如何创造汽车对象?
    需要先有汽车的建造图纸,图纸上描述清楚汽车应该具备的属性和功能(行为)
    属性:轮子数、时速
    功能(行为):
    然后再根据图纸上的描述生成汽车
    每一辆汽车都是对象,都有自己具体的属性值,都是图纸的实例
    图纸是抽象的,房子是具体的。图纸是对房子对象的高度概括

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

    3.需要设计哪些类,如何设计类
    1.类的设计:
    1> 类名
    * 类名的第一个字母必须是大写
    * 不能有下划线
    * 多个英文单词,用驼峰标识
    2> 属性
    3> 行为(功能)

    2.植物大战僵尸的僵尸
    * 类名:Zoombie
    * 属性:life、speed、gongjili
    * 行为:walk、bite、die

    3.雷电的飞机
    * 类名:Plane
    * 属性:life、gongjili、speed、bombCount
    * 行为:fly、bomb、shoot、die

    4.电脑
    * 类名:Computer
    * 属性:band、expireDate
    * 行为:open、close


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

    拥有相同(或者类似)属性和行为的对象都可以抽像出一个类
    哪个对象最清楚这个行为,就把这个行为写到哪个对象中去。打开电脑(开机)这个行为应该是属于电脑的。

     
  • 相关阅读:
    LINUX 内核守护进程
    LINUX 内核 API
    LINUX IO 图解
    doxygen
    xtrace
    Dapper-translation 分布式监控系统
    矩表
    最流行的5个前端框架对比
    2017年前端框架、类库、工具大比拼
    Top 10 JavaScript编辑器,你在用哪个?
  • 原文地址:https://www.cnblogs.com/dssf/p/4639355.html
Copyright © 2011-2022 走看看