zoukankan      html  css  js  c++  java
  • OC 构造方法

    #import <Foundation/Foundation.h>
    
    @interface Student : NSObject {
        int _age;
        int _no;
    }
    
    - (void)setAge:(int)age;
    - (int)age;
    
    - (void)setNo:(int)no;
    - (int)no;
    
    // 自己写一个构造方法
    - (id)initWithAge:(int)age andNo:(int)no;
    
    @end
    #import "Student.h"
    
    @implementation Student
    
    - (void)setAge:(int)age {
        _age = age;
    }
    
    - (void)setNo:(int)no {
        _no = no;
    }
    
    - (int)age {
        return _age;
    }
    
    - (int)no {
        return _no;
    }
    // 实现构造方法
    - (id)initWithAge:(int)age andNo:(int)no {
        // 首先要调用super的构造方法
        // self = [super init];
        
        // 如果self不为nil
        if (self = [super init]) {
            // _age = age;
            // _no = no;
            self.age = age;
            self.no = no;
        }
        
        return self;
    }
    
    // 重写父类的description方法
    // 当使用%@带打印一个对象的时候,会调用这个方法
    - (NSString *)description {
        NSString *str = [NSString stringWithFormat:@"age is %i and no is %i", self.age, self.no];
        return str;
    }
    
    // 如果直接把方法写在.m文件中,没有在.h文件中进行声明,那么这就是私有方法
    
    // 谁调用方法,self就指向谁
    - (void)test {
        int age = self.age;
    }
    
    + (void)test2 {
        [Student alloc];
        
        [self alloc];
        
        // 上面两句代码是等效的
    }
    @end
  • 相关阅读:
    动网16位gb2312md5加密
    开发windows7侧边栏小工具
    MVC文档地址
    关闭FCNs(文件修改监控)
    内存管理
    android笔记一(Button)
    android笔记五ImageButton
    android笔记三FrameLayout
    linux内核各组件的功能介绍
    C++面试题
  • 原文地址:https://www.cnblogs.com/liuwj/p/6899601.html
Copyright © 2011-2022 走看看