美文网首页iOS学习笔记程序员
OC 初始化方法和属性

OC 初始化方法和属性

作者: J_coco | 来源:发表于2016-01-21 10:52 被阅读0次

建立一个Person类
Person.h

#import <Foundation/Foundation.h>
@interface Person : NSObject
{
  NSString *_name;
  NSString *_idCard;
  BOOL _isBoy;
  int _birthday;
}

- (id)initWithisBoy:(BOOL)isBoy withBirthday:(int)birthday;
- (void)setName:(NSString *)name;
- (void)setIdCard:(NSString *)idCard;

- (NSString *)name;
- (NSString *)idCard;
- (BOOL)isBoy;
- (int)birthday;

- (void)crying;

@end

Person.m

#import"Person.h"
@implementation Person

- (id)initWithIsBoy:(BOOL)isBoy withBirthday:(int)birthday
{  
  if(self = [super init])
    {
      //属性赋值
      _isBoy = isBoy;
      _birthday = birthday;
  
      NSLog(@"这是一个%@孩",isBoy?@"男":@"女");

      //调用方法
      [self crying];
    }
  return self;
}

/*
    self 指的是  类对象 本身
    super是  父类对象 本身
    self 用来调用  本类对象 的 实例变量和方法
    super 调用从 父类继承下来 的 方法
*/
/*________________________________________________*/
- (void)crying
{
  NSLog(@"哇哇大哭");
}

- (void)setName:(NSString *)name
{
    _name = name;
}

- (void)setIdCard:(NSString *)idCard
{
    _idCard = idCard;
}

/*____________________________________*/
- (NSString *)name
{
    return _name;
}

- (NSString *)idCard
{
    return _idCard;
}

- (BOOL)isBoy
{
    return _isBoy;
}

- (int)birthday
{
    return _birthday;
}

@end

main.m

#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[])
{
  @autoreleasepool
  {  
    NSObject *objc = [NSObject alloc];
    objc = [objc init];

    Person *mouren = [[Person alloc]initWithIsBoy:NO wethBirthday:20160121];

    [mouren setName:@"某人"];
    [mouren setIdCard:@"123456789098"];

    NSLog(@"%@ %@ %@ %d",[mouren name],[mouren idCard],[mouren isBoy]?@"男":@"女",[mouren birthday]);

    [mouren crying];
  }
  return 0;
}

相关文章

  • From Objective-C to Ruby(4)-类和模块

    类 定义类 OC: ruby: 初始化方法 OC: ruby: 实例变量和属性 OC: ruby: 类方法和对象方...

  • OC 初始化方法和属性

    建立一个Person类Person.h Person.m main.m

  • Swift 的 init方法

    Swift的初始化方法是为 类、结构体、枚举使用的,它能为每个存储属性提供初始值,Swift的初始化方法和OC的初...

  • 初始化方法顺序

    与 oc 不同,Swift 的初始化方法需要保证类型的所有属性都被初始化。 顺序有讲究 要当前子类实例成员初始化完...

  • OC运行时

    我个人对OC的理解就是:动态获取OC Class的属性和方法,从而动态改变Class方法和属性。之前学习Java的...

  • deinit析构函数

    init 构造函数,初始化方法 deinit 析构函数,反初始化方法 deinit 和OC中的 dealloc 一...

  • UIBezierPath

    一. 初始化方法 二. 属性和方法介绍 1. 属性 2. 方法介绍 三. 实例演示 简单的初始化, 可以用来初始...

  • OC get set 方法理解

    OC get set 方法理解 get set方法不能同时重写 最近在了解oc的属性,oc的属性组成是由成员变量+...

  • iOS(oc)与vue交互

    1、oc调用vue方法 需要暴露方法 2、oc 调用vue方法 wkwebview代理设置 初始化wkwebvie...

  • 2018-04-01

    oc中对于类的属性声明和实现其getter和setter方法,oc 2.0中增加了属性声明,就是可以不用单独为每一...

网友评论

    本文标题:OC 初始化方法和属性

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