OC语言学习01-类与对象
来源:互联网 发布:中国不成熟的网络环境 编辑:程序博客网 时间:2024/05/19 16:07
一、定义一个类:
#import <Foundation/Foundation.h>
//定义一个Student类,类名Student
//@interface定义一个类的关键字
//@end 表示类定义结束
//NSObject: 根类(基类)
//系统类的命名以NS开头(Next Step是一家公司的名字)
@interface Student :NSObject
{
//实例变量的定义,命名以_开头,
NSString *_name;//NSString是OC系统提供的字符串类
NSInteger _age; //NSInteger是long类型
}
//构造方法
//id返回值是id类型的一个对象,
//-号说明该方法是一个对象方法(实例方法)
//方法名:init
-(id)init;
//seter方法:修改实例变量的值
//有一个传入参数 name,无返回值
//方法名 setName:
-(void)setName:(NSString *)name;
-(void)setAge:(NSInteger)age;
//有两个传入参数,name和age
-(void)setName:(NSString*)name setAge:(NSInteger)age;
//getter方法:读取实例变量的值
-(NSString *)name;
-(NSInteger)age;
//定义一个类方法
//定义类方法用+
+(void)testStudent;
@end
二、实现一个类
//实现一个类关键字@implementation
//@end 结束
@implementation Student
-(id)init {
self = [superinit];//self表示调用者,指向调用者的对象指针变量
//super是调用父类方法的关键字
if (self) {
_name =@"小华";
_age =20;
}
returnself;
}
//实现setter方法访问修改实例变量的值
-(void)setName:(NSString *)name {
_name = name;
}
-(void)setAge:(NSInteger)age {
_age = age;
}
-(void)setName:(NSString *)name setAge:(NSInteger)age {
_name = name;
_age = age;
}
//实现getter方法读取实例变量的值
-(NSString *)name {
return_name;
}
-(NSInteger)age {
return_age;
}
//实现这个类方法,用类名来调用测试当前类是否可用
+(void)testStudent {
NSLog(@"这是一个类方法!");
}
@end
三、调用方式
int main(int argc,constchar * argv[]) {
@autoreleasepool {
//Student类通过alloc类方法创建一个对象,然后调用构造方法init对对象进行初始化
Student *stu = [[Student alloc ] init];
NSLog(@"name = %@, age = %li",[stu name] , [stu age]);
/*
输出结果:name =小华, age = 20
*/
//调用setter方法修改参数
[stu setName:@"小明"];//@"小明"表示字符串对象
[stu setAge:25];
NSLog(@"name = %@, age = %li",[stu name], [stu age]);
/*
输出结果: name =小明, age = 25
*/
//或者直接调用两个参数的setter方法
[stu setName:@"小芳"setAge:21];
// %@是打印对象占位符,%li是打印long类型占位符
NSLog(@"name = %@, age = %li",[stu name], [stu age]);
/*
输出结果: name =小芳, age = 21
*/
//或者直接调用两个参数的setter方法
//调用类方法
[Student testStudent];
/*
输出结果:这是一个类方法!
*/
//或者直接调用两个参数的setter方法
}
return0;
}
- OC语言学习01-类与对象
- OC语言 OC初识-类与对象
- OC语言学习-面向对象
- oc学习之类与对象
- OC语言学习 (二) 创建OC对象类、成员/静态变量、对象/类方法
- OC-oc语言简介,类和对象
- OC--类与对象
- OC---类与对象
- OC-类与对象
- 黑马程序员—OC语言基础—类与对象
- Objective-c:OC语言简介、类与对象
- OC学习日记03-类和对象(二)OC语言中的方法 、设置器与访问器、便利初始化函数与便利构造器
- OC语言之学习篇——01——类和对象
- OC语言学习06-字典对象
- OC基础 - 01类与对象
- OC学习笔记(三)--类与对象
- OC语言学习02-构造方法与类方法
- OC runtime 类与对象
- ValueError: Variable lstm_cell/rnn/multi_rnn_cell/cell_0/basic_lstm_cell/kernel already exists
- git的.gitignore文件
- UITableView刷新某一部分或某一行
- jsp页面导出成excel(局限于Chrome和FireFox)
- Connections in Galaxy War并查集+set+脑洞
- OC语言学习01-类与对象
- mysql --时间日期函数总结
- k8s volume plugin FlexVolume 开发
- bootstrap-table 搜索框 中文乱码问题解决
- sails开发之配置MongoDB数据库连接
- [C/C++]_[macOS-Windows]_[原子操作2]
- C# 使用SSL访问webservice(自用)
- 利用js实现 禁用浏览器后退
- 趟过(1062