• 02-类与对象的关系


     

    1、如何创建对象 

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

      2)现实生活的例子:如何创建汽车对象?

        a)首先需要有汽车的图纸,图纸上描述汽车应该具备的属性和功能(行为)

          属性:轮子个数、时速

          功能(行为):跑

        b)然后根据图纸上的描述创建汽车

        c)每一辆车都具有自己的属性和功能,都是图纸的实例

        d)图纸是抽象的,汽车是具体的;图纸是对汽车对象的高度概括

    2OC中的面向对象

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

      2OC利用类来创建对象,对象是类的具体存在,类是对对象的抽象描述

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

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

         (1)类的设计,创建一个类需要3个元素,类的命名规则:

      • 类名: 首字母必须大写,后面的单词遵循驼峰原则
      • 属性: 一般以下划线开头,后面的单词遵循驼峰原则
      • 行为(功能):遵循驼峰原则

      (2)一般名词都是类

        a)坦克发射3颗炮弹轰掉了2架飞机

          坦克、炮弹、飞机都是类

        b)小明在公车上个牵着一条叼着热狗的狗

          公车、热狗、狗都是类,小明是人类

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

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

     飞机类

     类名:Plane

     属性:颜色(_color)  ,型号(_model)

     行为:飞(fly)

     

     人类

     类名:Person

     属性:身高(_height)  ,体重(_weight)

     行为:跑(run), 吃(eat)

     

     苹果手机类

     类名:Iphone

     属性:颜色(_color) ,型号(_model) ,cpu(_cpu)

     行为:查看信息(lookMyPhone), 打电话(callPhone), 发信息(sendMessage), 收信息(receiptMessage)

     (5)哪个对象最清楚这个行为,就把这个行为写到哪个对象中去。

        例如:打开电脑,开机这个行为应该是属于电脑的。

    4、类的设计练习

      (1)类的设计:

        1>类名

           *类名的第一个字母必须是大写

           *不能有下划线(不能算错,但是规范是不能有)

           *多个英文单词,遵循驼峰原则

        2>属性

        2>行为(功能)

     

      (2)植物大战僵尸的僵尸

         *类名: Zoombie(僵尸)

         *属性: _life(生命值)、_speed行走速度、_gongJiLi(攻击力)

         *行为: walk(行走)、bite(咬)、die(死亡)

     

      (3)雷电的飞机

         *类名: Plane(飞机)

         *属性: _life(生命值)、_gongJiLi(攻击力)、_speed(速度)、_bombCount(炸弹数量)

         *行为: fly()bomb(投炸弹)shoot(射击)die(死亡)

     

      (4)电脑

     *类名: Computer(电脑)

     *属性: _band(品牌)、_expireDate(保质期)

     *行为: open(开机)close(关机)

     

    本节重点:

      1对象是类的具体存在,类是对对象的抽象描述。

      2、面向对象解决问题首先应该考虑需要设计哪些类,再利用类创建多少个对象。

      3类的设计:(3要素)

        1>类名

           *类名的第一个字母必须是大写

           *不能有下划线(不能算错,但是规范是不能有)

           *多个英文单词,遵循驼峰原则

        2>属性

           *一般以下划线开头,后面的单词遵循驼峰原则

        2>行为(功能)

           *遵循驼峰原则

    人生之路,不忘初心,勿忘始终!
  • 相关阅读:
    常用 SQL 语句使用的总结
    LC 583. Delete Operation for Two Strings
    LC 873. Length of Longest Fibonacci Subsequence
    LC 869. Reordered Power of 2
    LC 900. RLE Iterator
    LC 974. Subarray Sums Divisible by K
    LC 973. K Closest Points to Origin
    LC 975. Odd Even Jump
    LC 901. Online Stock Span
    LC 722. Remove Comments
  • 原文地址:https://www.cnblogs.com/xdl745464047/p/3995885.html
Copyright © 2020-2023  润新知