ios学习第三天(二)自己动手写一个类
来源:互联网 发布:怎么样设置网络打印机 编辑:程序博客网 时间:2024/06/01 18:37
为了看这一块内容,画了不少时间,语法不学不写永远不会的。
OC中的类要写在两个文件中.h文件是声名文件.m文件是实现文件。
类的声名:
#import <Foundation/Foundation.h>
@interface 类名: 继承的类名<协议名1,协议名2>{ //或@interface 类名: 继承的类名{
//这里声明属性
}
//这里声明方法
@end
类的实现:
#import "类的声名文件" //如:#import "Dog.h"
@implementation 类名
//这里写要实现的方法
@end
看例子,去感悟吧:
Pig.h:
//// Pig.h// ClassTest//// Created by Moluth on 17/4/7.// Copyright (c) 2017年 Moluth. All rights reserved.//#import <Foundation/Foundation.h>//.h文件用于声明一个类 Pig类名 冒号表示继承 Pig继承自NSObject@interface Pig : NSObject{ //这里声明属性 int _age;//属性 NSString *_name;}//这里声明方法-(id)initWithNameAndAge:(NSString*)name : (int)age;//带参数构造方法-(int)age;//getAge 无参数方法,int返回值-(NSString*)name;//getName-(void)setAge:(int)age;-(void)setName:(NSString*)name;//单参数空返回值方法-(void)setNameAndAge:(NSString*)name : (int)age;//双参数空返回值方法@end
Pig.m:
//// Pig.m// ClassTest//// Created by Moluth on 17/4/7.// Copyright (c) 2017年 Moluth. All rights reserved.//#import "Pig.h"//.m文件为实现文件 实现Pig类@implementation Pig//构造方法-(id)initWithNameAndAge:(NSString*)name : (int)age{ self=[super init];//调用父类构造方法 self相当于java中的this _name=name; _age=age; return self;}-(int)age{ return _age;}-(NSString*)name{ return _name;}-(void)setAge:(int)age{ _age=age;}-(void)setName:(NSString*)name{ _name=name;}-(void)setNameAndAge:(NSString*)name : (int)age{ _age=age; _name=name;}//重写父类该方法,在输出该对象时,会输出下面的字符串。-(NSString*)description{ return [[NSString alloc] initWithFormat:@"[name:%@,age:%d]",_name,_age];}@end
main.m:
//// main.m// ClassTest//// Created by Moluth on 17/4/7.// Copyright (c) 2017年 Moluth. All rights reserved.//#import <Foundation/Foundation.h>#import "pig.h"int main(int argc, const char * argv[]) { Pig *pig1=[[Pig alloc] init]; [pig1 setNameAndAge:@"熊大" :10]; NSLog(@"name=%@ age=%d obj=%@",[pig1 name],[pig1 age] ,pig1);//name=熊大 age=10 obj=[name:熊大,age:10] Pig *pig2=[[Pig alloc] initWithNameAndAge:@"光头强" :38]; NSLog(@"%@",pig2);//[name:光头强,age:38] return 0;}
0 0
- ios学习第三天(二)自己动手写一个类
- IOS 学习第三天
- 自己动手写spring(二) 创建一个bean工厂
- 全文检索技术 lucene(二) 自己动手写一个搜索引擎
- 学习IOS的第三天
- 自己动手写俄罗斯方块(二)
- 自己动手写操作系统(二)
- 自己动手写一个APK安装器(二)
- 《SSO系列二》自己动手写一个SSO
- ios学习第三天(一)浅谈ios面向对象
- 菜鸟:IOS 学习:磨难记 (第三天)
- ios学习第三天(三)封装继承多态
- 接(补第三天) 差不多一个礼拜的学习
- iOS学习——第三天
- iOS-学习笔记-UI-第三天
- 自己动手写操作系统(第一天)
- 自己动手写网络爬虫(第一天)
- PHP学习第三天:类
- Java时间转换
- Android JNI和NDK学习(07)--JNI的常用API
- C# Image 学习总结
- AppCompatActivity设置透明背景
- JAVA中的this关键字
- ios学习第三天(二)自己动手写一个类
- Android进入页面显示软键盘
- 数学之美番外篇:平凡而又神奇的贝叶斯方法
- 二维码扫描扫描到网址跳转到wenView中
- jsonp跨域请求问题
- appium_常用的API函数
- 【Linux学习笔记】三、文件搜索命令
- 没有任何公式——直观的理解变分自动编码器VAE
- 过滤器和拦截器的区别