您的位置:首页 > 移动开发 > IOS开发

面向对象-三大特性

2015-05-31 09:12 405 查看
面向对象-三大特性
一.封装
1.封装指的是成员变量的封装,把内部的成员变量保护起来,不让外部直接访问

2.set方法

      1)作用:提供一个方法给外部设置成员变量的之

      2)命名规范:方法名必须以set开头

                set后面跟上成员变量的名称,而且成员变量首字母要大写

                返回值一定是void

                一定要接收一个参数,参数类型和成员变量一致

                形参的名称不能跟成员变量一样

3.get方法

       1)作用:返回对象内部的成员变量
       2)命名规范:get方法的名称一般就跟成员变量同名

4.成员变量的命名规范
        1)成员变量都以下划线 _ 开头
        2)  可以跟get方法的名称区分开
        3)  可以跟其他局部变量区分开,一看到下划线开头的变量,肯定是成员变量
5.代码示例

 


实例总结:通过对这个例子的上手操作练习,可以知道如何对成员变量进行封装,还能学到编程中的一些命名规范 

       

继承
一.简述

        继承是面向对象的一个重要特征。当多个类中存在相同属性和行为时将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。这时,多个类可以称为子类,单独的这个类称为父类或者超类。

二.好处

        1.   抽取重复代码

        2.   建立了类与类之间的关系

        3.   子类可以拥有父类中所有的属性和方法

三. 坏处

     1.耦合性太强

四.重写:子类重新实现父类中的某个方法

      注意点: 1.父类必须声明在子类的前面

                      2.子类不用拥有和父类相同的成员变量

                      3.调用某个方法时优先去当前类中找,如果找不到,去父类中找

五.继承的使用场合

         1.当两个类拥有相同属性和方法的时候,就可以将相同的东西抽取到一个父类中

         2. 当A类完全拥有B类中的部分属性和方法时,可以考虑让B类继承A类
六.具体实例:

从这个例子中可以看出,狗这个类和猫这个类具有相同的属性和行为,所以我们把这些东西单独的抽取出来,把他放到animal这个类中,然后让狗和猫去继承它,狗和猫就拥有了这些属性和方法。这么做可以节省代码。

  


     

 

 

 

 

 

多态
1.    基本概念:父类指针指向了子类对象(某一类事物的多种形态)

2.    好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象

3.  局限性:父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类特有的方法

4.    代码体现

Person*p = [Student new];
p->age= 100;
[p walk];

       1)子类对象赋值给父类指针

       2) 父类指针访问对应的属性和方法

 

 

 

 

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