zoukankan      html  css  js  c++  java
  • Object-C 基础笔记2--方法

    一,了解继承

    oc中,一个类可以继承另一个类,被继承的类称为父类或超类,继承的类称为子类,子类可以直接拥有父类中除了@private实例变量之外的全部内容.

    实现继承使用":"

    @interface childClass :superClass{ }

    OC只允许单继承,一个子类最多只能有一个直接父类.

    没有父类的类称为根类,oc中的根类是NSObject.

     子类能直接继承父类方法,也能重写父类方法.

    继承具有传递性:如果A是B的子类,B是C的子类,那么A也具有C的特征和行为.

    二,掌握ios中的方法

    oc语言里,方法分为:类方法和实例方法.

    类方法必须用类名来调用,实例方法必须用对象来调用.

    方法是类的行为,在接口文件中声明,在实现文件中实现.

    类方法和实例方法唯一的区别是:调用者不同(类方法用类名来调用,实例方法用对象名调用).

    相同点是:都可以有参数和返回值

    类只能调用类方法,对象调用实例方法

    类方法:

    +(int)test{

    return 34;

    }

    调用的时候用类名Person直接调用.[Person test];

    实例方法:

    -(int)test

    {return 23;}

    调用的时候用类的对象调用,比如Person * person=[Person new]; 调用:[person test];(使用对象);

    类声明处理方法

    如果类比较多的时候,类的声明.h就会很多,在主函数或其他类中引用就比较麻烦,可以把一类为实现一个功能的类声明放在一个.h文件中

    比如在Head.h中写#import "A"  #import "B"....

    在main.h中写#import "Head.h"就相当于把Head.h中的内容复制一份到main函数文件中.

    [recevier message]消息机制

    调用方法是面向过程常用说法,消息机制是oc从面向对象的角度,recevier就是一个对象或类名,它用什么功能或要做什么事情都是他自己的事,在外界看来就是给他一个消息,然后他去执行,所以message被称为消息.

    oc中方法的使用:

    使用setter和getter方法需要对属性一一赋值和取值,可以利用方法来实现一次赋值.setter和getter方法只有一个参数,下面不是getter方法和setter方法例如:

    -(void)setName:(NSString *)name Age:(int )age Gender:(NSString *)gender
    {
        _name=name;
        _age=age;
        _gender=gender;
    }

    --------------------------------------------------

     方法名是:setName:Age:Gender:   中间不带空格.

    +(int)test;

    -(int)test;可以同时存在,属于不同的方法.

    --------------------------------------------------

    类的初始化方法:

    初始化方法只能调用一次, 在创建对象的时候调用

    是一个实例方法  返回id类型  以init开头

    初始化方法的作用是:创建对象的同时给对象赋初值

    例如:

    -(id)initWithName:(NSString *)name Age:(int)age Gender:(NSString *)gender
    {

    //一句话,谁污染谁治理,父类要自己初始化自己的实例变量,子类继承的时候只需实现自己的实例变量
        if (self=[super init]) //父类初始化父类的实例变量,自己的变量自己初始化

      {
            _name=name;
            _age=age;
            _gender=gender;
         }
        return self;
    }

    初始化注意事项:

    第一步,调用父类的初始化方法,为继承过来的变量赋初值

    第二步,为自己独有变量赋初值

    第三步,返回对象

     最后:便利构造器

    便利构造器返回值id, 是类方法,以类名开头.

    +(id)personWithName:(NSString *)name age:(int)age gender:(NSString *)gender
    {
        return [[Person alloc] initWithName:name Age:age Gender:gender];
    }

    个人博客地址:http://www.cnblogs.com/huntaiji git 地址:https://github.com/lichanghong 专 业:计算机科学与技术 2015/01—2018/01/22 北京奇虎360科技有限公司 (360的企业安全分公司) 2014.6 — 2015/01 摩比神奇(北京)信息技术有限公司(360) iOS软件开发工程师 2014.1 — 2014.5 北京道同道科技有限公司 iOS软件开发工程师 2015/01/21 入职360开发天机/花椒直播/蓝信视频会议/安全邮件 2018/01/15 入职新氧
  • 相关阅读:
    Python基础之基本数据类型
    Python基础之变量
    mysql数据库
    进程与线程
    并发编程
    网络编程
    内置函数(魔法方法)
    组合,封装,访问限制机制,property装饰器
    面向对象之继承
    Web开发中最致命的8个小错误
  • 原文地址:https://www.cnblogs.com/huntaiji/p/3408200.html
Copyright © 2011-2022 走看看