您的位置:首页 > 职场人生

黑马程序员_面向对象简介

2014-06-09 20:28 253 查看
 ---------------------- <ahref="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a/href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流!
----------------------

黑马程序员_面向对象简介

今天学习了面向对象的理论基础,虽然有些枯燥,但是明白了许多的概念。
一、面向对象和面向过程思想
Objective-C语言是面向对象的,C语言是面向过程的。

面向对象和面向过程只是解决问题的两种不同思想。
   1、面向对象和面向过程的区别
          1)以电脑听歌为例
              面向过程关注的是解决问题需要多少的步骤

                   ->打开电源

                   ->播放电脑中的歌曲

                   ->关闭电脑

                 面向对象关注的是解决问题需要哪些东西(对象)

             ->电脑(对象)

            --->开机

            --->播放歌曲

            --->关机

                2)区别分析

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

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

           ->打电话发短信->找手机;不用分析电话要怎样打

           ->去饭店吃饭->找服务员;不用分析怎么到厨房炒菜
        ->汽车坏了->找汽车维修工;不用分析修车的步骤

      境界:万物皆对象
常用术语

->面向过程Procedure Oriented

->面向对象Object Oriented,简称OO

->面向对象编程Object Oriented Programming,简称OOP

 二、类和对象的关系
面向对象中有两个非常重要的概念:类和对象
   1、如何创建对象
      1)面向对象解决问题的时候必须有对象,如何创建对象
      2)现实生活中的例子:如何制造汽车对象
         a)首先要有汽车的建造图纸,图纸上描述清楚汽车应该具备的属性和功能(行为)
             ->属性:轮子数、时速
             ->功能(行为):跑
         b)然后再根据图纸上的描述生成汽车
         c)每一辆汽车都是对象, 都有自己具体的属性值,都是图纸的实例
         d)图纸是抽象的,汽车是具体的,图纸是汽车对象的高度概括

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

   3、需要设计哪些类,如何设计类
      1)类的设计只关心3样东西
         ->事物名称(类名):人(Person)
         ->属性:身高(Height)、年龄(age)
         ->行为(功能):跑(run)、打架(fight)
      2)一般名词都是类
         ->坦克发射3颗炮弹轰掉了2架飞机
           类:坦克、炮弹、飞机
         ->小明在公车上牵着一条叼着热狗的狗
           类:狗、热狗、公车、人
      3)拥有相同(或者类似)属性和行为的对象都可以抽象出一个类
         ->愤怒的小鸟游戏界面
           类:鸟、猪、炸弹、木板、箱子、石头、岩石、山峰
         ->植物大战僵尸
           类:阳光、向日葵、地鼠、豌豆、食人花、坚果、僵尸、卡牌、车、草皮、炮弹
         ->新浪微博
           类:九宫格、格子、选择图标、搜索框、图片
      4)类名、属性、

三、类的设计
  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

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

  
         


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息