美文网首页
面向对象的三大特性

面向对象的三大特性

作者: AmberAlbee | 来源:发表于2019-03-11 02:29 被阅读0次

    封装 继承 多态


    封装

    封装是面向对象的特征之一,是对象和类概念的主要特性。也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐封装是面向对象的特征之一,是对象和类的主要特性。


    封装 self关键字

    //  set方法的封装

    main.m

    #import <Foundation/Foundation.h>

    #import "Student.h"

    int main(int argc, const char * argv[])

    {

    Student *s = [Student new];

    s->age = -10;

    s->number = 20160120;

    [s setAge:-10];

    int a = [s age];

    NSLog(@"age=%d",a);

    [s study];

    return 0;

    }


    Student.h

    #import <Foundation/Foundation.h>

    @interface Student : NSObject

    {

    //  @public

    int _age;

    int _number;

    }

    - (void)study;

    //  set方法的声明

    /*

    set方法(只写)

    1.作用:提供一个可以让外界修改成员变量值的方法,可以在我们的方法当中过滤一些不合理的参数

    2.命名规范:

    1>方法名必须以set开头

    2>方法名后面跟上成员变量名称,成员变量的首字母必须大写

    3>返回值一定是void

    4>一定要接受一个参数,而且这个参数的类型一定跟我们的成员变量的类型一样

    5>我们的参数名不能跟成员变量名一样

    */

    /*

    get方法(只读)

    1.作用:返回对象内部的成员变量

    2.命名规范:

    1>肯定有返回值,返回值类型跟成员变量一致

    2>方法名跟成员变量名一致

    3>不要接受任何参数

    */

    /*

    成员变量的命名规范:一定要用下划线开头

    作用:

    1>让成员变量和get方法的名称区分

    2>可以跟局部变量区分,一看到下划线就知道是成员变量

    */

    - (void)setAge:(int)age;

    - (int)age;

    @end


    Student.m

    #import "Student.h"

    @implementation Student

    - (void)study

    {

    NSLog(@"%d岁的学生正在学习",_age);

    }

    - (void)setAge:(int)age

    {

    if (age <= 6)

    {

    age = 6;

    }

    _age = age;

    }

    - (int)age

    {

    int age;

    //  局部变量:定义在某方法里面的变量,只能在该方法内使用

    return _age;

    }

    @end

    - (void)study;

    相关文章

      网友评论

          本文标题:面向对象的三大特性

          本文链接:https://www.haomeiwen.com/subject/xrbmpqtx.html