第02天OC语言(04):结构体作为对象属性
2017-07-11 00:00
323 查看
#####一、概念
#####二、代码
![Uploading image_816804.png . . .]
#####二、代码
#import <Foundation/Foundation.h> #pragma mark 类 /* 合理设计一个'学生'类 学生有 姓名 生日 两个属性 和 说出自己姓名 生日方法 要求利用设计的学生类 创建学生对象, 并说出自己的姓名 和年龄 描述学生类 事物名称 : 学生(Student) 属性 : 姓名(name) 生日(birthday) 行为 : 说出自己的姓名 和 生日(say) */ typedef struct { int year; int month; int day; }Date; @interface Student : NSObject { @public NSString *_name; Date _birthday; } - (void)say; @end @implementation Student - (void)say { NSLog(@"我的姓名 = %@,year = %i, month = %i, day = %i",_name,_birthday.year,_birthday.month,_birthday.day); } @end #pragma mark main函数 int main(int argc, const char * argv[]) { // 1.创建学生对象 Student *stu = [Student new]; // 2.设置学生对象的属性 stu->_name = @"lyh"; // 1.结构体只能在定义的时候初始化 // 2.系统并不清楚 它是数组 还是结构体 // stu->_birthday = {1992,4,11}; #pragma 1.结构体一次性赋值(推荐使用,快捷方便,只需要转换一下就行了) // stu->_birthday = (Date){1992,4,11}; #pragma 2.结构体逐个赋值 // stu->_birthday.year = 1992; // stu->_birthday.month = 2; // stu->_birthday.day = 1; #pragma 3.其他方式 Date d = {19992,9,1}; // 0开头是八进制,不要随便写09 ,直接写9 stu->_birthday = d; // 3.学生说出自己的姓名 和 生日 [stu say]; Date d1 = {1992,2,2}; Date d2; d2 = d1; // 本质是将 d1所有的属性的值 都拷贝了 一份给d2; d2.year = 2000; printf("d1 year = %i\n",d1.year); printf("d2 year = %i\n",d2.year); return 0; }
![Uploading image_816804.png . . .]
相关文章推荐
- 第02天OC语言(09):对象作为方法的参数连续传递下
- 第02天OC语言(06):对象作为方法参数传递
- OC 结构体作为对象的属性
- 第02天OC语言(05):对象作为方法参数分析
- 第02天OC语言(10):对象作为返回值
- OC中结构体作为对象属性
- 第02天OC语言(08):对象作为方法的参数连续传递上
- 第01天OC语言(04):面向对象基本概念
- Objective-C 【OC语法:不能修改 某个对象的 结构体属性的 成员】
- OC中修改 对象的结构体属性
- 第02天OC语言(12):匿名对象
- 黑马程序员---【OC语言】04面向对象之继承与多态
- OC对象里面包含的结构体类型的属性,不能对该结构体属性的成员单个进行修改
- 58,结构体作为对象属性
- 在oc语言中对象对象属性的封装
- 变量声明时命名与变量作为对象属性时命名的区别解析
- 变量声明时命名与变量作为对象属性时命名的区别解析
- javascript 将变量值作为对象属性 获取对象对应的值
- 【Objective-C】OC 中对象属性的设置器和访问器
- 04-OC属性的使用、自动释放池、封装和继承