黑马程序员技术交流社区

标题: 用setter,getter对student类属性赋值取值 [打印本页]

作者: bdw9005    时间: 2015-9-12 21:55
标题: 用setter,getter对student类属性赋值取值
Student.h
  1. /*
  2. 设计一个学生类,
  3. 属性有:姓名,年龄,性别,成绩;
  4. 用setter设置器和getter访问器,进行赋值和取值;
  5. 顺便写出,set方法和get方法的命名规范;

  6. */

  7. #import <Foundation/Foundation.h>
  8. typedef enum {
  9.     kSexMan,
  10.     kSexWoman,
  11.     kSexYao
  12. }Sex;
  13. @interface Student : NSObject
  14. //姓名,年龄,性别,成绩
  15. {
  16.     NSString *_name;
  17.     int _age;
  18.     Sex _sex;
  19. }
  20. //用setter设置器和getter访问器,进行赋值和取值;

  21. //setter设置器
  22. -(void)setName:(NSString *)name;
  23. -(void)setAge:(int)age;
  24. -(void)setSex:(Sex)sex;

  25. //getter访问器
  26. -(NSString*)name;
  27. -(int)age;
  28. -(Sex)sex;
  29. @end
复制代码

Student.m
  1. #import "Student.h"

  2. @implementation Student
  3. -(void)setName:(NSString *)name{
  4.    
  5.     _name=name;
  6. }
  7. -(void)setAge:(int)age{
  8.     _age=age;
  9. }
  10. -(void)setSex:(Sex)sex{
  11.     _sex=sex;
  12. }

  13. //getter访问器
  14. -(NSString*)name{
  15.     return _name;
  16. }
  17. -(int)age{
  18.     return _age;
  19. }
  20. -(Sex)sex{
  21.     return _sex;
  22. }

  23. @end
复制代码

main.m
  1. #import <Foundation/Foundation.h>
  2. #import "Student.h"

  3. int main(int argc, const char * argv[]) {
  4.     @autoreleasepool {
  5.         Student *stu=[Student new];
  6.         
  7.         [stu setName:@"XiaoMing"];
  8.         [stu setAge:18];
  9.         [stu setSex:kSexYao];
  10.         //姓名,年龄,性别,成绩
  11.         NSLog(@"姓名:%@,年龄:%d,性别:%u ",[stu name],[stu age],[stu sex]);
  12.     }
  13.     return 0;
  14. }
复制代码

作者: 13817049701    时间: 2015-9-13 17:24
写的不错,思路很清晰




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2