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

来源:互联网 发布:光盘复制软件 编辑:程序博客网 时间:2024/05/29 18:09
 ---------------------- <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


  注意:哪个对象最清楚这个行为,就把这个行为写到那个对象中去;

        打开电脑(开机)这个行为应该是属于电脑的。


  

         


0 0
原创粉丝点击