黑马程序员——构造方法之init的重写和自定义构造方法
来源:互联网 发布:vb清空文本框内容 编辑:程序博客网 时间:2024/05/16 23:46
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1、构造方法的概念:
是一个用来初始化对象默认值的对象方法。
2、init方法的重写规则:
- (id)init{ if ( self = [super init] ) { _someThing = 10; // 如果初始化父类成功则给本对象的成员变量赋值 } // 返回已经初始化完毕的本对象 return self;}
3、自定义构造方法:
Person.h
#import <Foundation/Foundation.h>@interface Person : NSObject@property NSString *name;@property int age;/* 自定义构造方法的规范 1.一定是对象方法,一定以 "-" 开头 2.返回值一般是id类型 3.方法名一般以initWith开头*/- (id)initWithName:(NSString *)name;- (id)initWithAge:(int)age;- (id)initWithName:(NSString *)name andAge:(int)age;@end
Person.m
#import "Person.h"@implementation Person- (id)initWithName:(NSString *)name{ if ( self = [super init] ) { _name = name; } return self;}- (id)initWithAge:(int)age{ if ( self = [super init] ) { _age = age; } return self;}- (id)initWithName:(NSString *)name andAge:(int)age{ if ( self = [super init] ) { _name = name; _age = age; } return self;}@end
Student.h
#import "Person.h"@interface Student : Person@property int no;- (id)initWithNo:(int)no;- (id)initWithName:(NSString *)name andAge:(int)age andNo:(int)no;@end
Student.m
#import "Student.h"@implementation Student- (id)initWithNo:(int)no{ if ( self = [super init] ) { _no = no; } return self;}// 父类的属性交给父类方法去处理,子类方法处理子类自己的属性- (id)initWithName:(NSString *)name andAge:(int)age andNo:(int)no{ // 将name、age传递到父类方法中进行初始化 if ( self = [super initWithName:name andAge:age]) { _no = no; } return self;}@end
main.m
#import <Foundation/Foundation.h>#import "Person.h"#import "Student.h"int main(){ Student *p = [[Student alloc] initWithName:@"Jim" andAge:29 andNo:10]; return 0;}
0 0
- 黑马程序员——构造方法之init的重写和自定义构造方法
- 重写构造方法init与自定义构造方法的详解
- ——黑马程序员——OC中构造和重写构造方法
- 黑马程序员——ObjectiveC基础——构造方法和自定义构造方法
- 黑马程序员——ios知识整理——构造方法及重写构造方法
- 黑马程序员 - OC语言 - 重写构造方法
- 黑马程序员--OC--重写构造方法
- 黑马程序员_构造方法和构造方法的重载
- Objective-c - 构造方法(init方法)和init方法的重写
- 【黑马程序员】-我的OC学习笔记(3)-存取器方法和构造方法重写
- 黑马程序员-OC-自定义构造方法和description方法
- 黑马程序员之ios学习总结——10 OC语言的构造方法和分类
- 重写init方法(构造方法)
- 转:重写init方法(构造方法)
- 重写构造方法及自定义构造方法的理…
- 黑马程序员——构造方法
- 黑马程序员——OC—构造方法和Category
- 黑马程序员——构造方法和分类
- 模拟电路设计:理论的神话与残酷的现实
- 形象导航荣耀起航 让您的形象价值千万!
- 使用PowerDesigner建立数据库模型
- WebappClassLoader.java:1280 的NullPointerException
- Android 自定Application类
- 黑马程序员——构造方法之init的重写和自定义构造方法
- 渗透测试之一:缓冲区原理分析
- iframe跨域Session丢失问题的解决办法
- 一例TCP优雅关闭失败SO_LINGER选项未起作用
- Web 通信 之 长连接、长轮询(long polling)
- iOS:iOS8模拟器下键盘不能弹出
- AT&T GNU X86-64,I386 汇编语法简述
- mx:TabNavigator 与s:TextInput一起使用的Bug
- 索引中是否包含ROWID