OC语言day04-05property修饰符

pragma mark property修饰符

pragma mark 概念

pragma mark 代码


#pragma mark property修饰符
#pragma mark 概念

#pragma mark 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#import "Person.h"
#pragma mark main函数
int main(int argc, const char * argv[])
{
    
    Person *p = [Person new];
//    p.age = 22;
//    p.name = "lyh";
//    p.height = 1.72;
//    p.weight = 65;
    
//    [p setName];
    
#warning 修改getter方法名称
    p.height = 99;
    NSLog(@"height = %f",[p abc]);
    
#warning 修改setter方法名称
    [p tiZhong:120.0];
    NSLog(@"weight = %f",[p weight]);
    
#warning 判断是否已经 已婚了
    [p setMarried:YES];
    if ([p isMarried]) {
        NSLog(@"已婚");
    }
    else
    {
        NSLog(@"未婚");
    }
    return 0;
}


Person.h //人类
#import <Foundation/Foundation.h>

@interface Person : NSObject

/*
 如果给一个属性 同时提供了getter/setter方法, 那么我们称之为 这个属性为 可读可写 属性
 如果只提供了 getter方法, 那么我们称之为 这个属性为 只读 属性 (readonly) 只读 (一般名字使用)
 如果只提供了 setter方法, 那么我们称之为 这个属性为 只写 属性
 
 如果既没有提供getter也没有提供setter方法, 那么我们称这个属性为私有属性
//  m默认情况下, @proerterty 就是 read 我日俄特写
 格式:
 @property (属性修饰符) 数据类型 变量名称;
 */
#warning readwrite(读写)默认
// readwrite(读写) : 代表及生成getter方法, 也生成setter方法
// 默认情况下 @property就是readwrite的
@property (readwrite)int age;
#warning 修改getter方法的名称 (多用在于BOOL类型)
/*
 - (void)setHeight:(double)height;
 - (double)height;
 
 - (void)setHeight:(double)height;
 - (double)abc;
 */
@property (getter=abc)double height;

#warning 修改setter方法的名称 (少用)
/*
 - (void)setWeight:(double)weight;
 - (double)weight;
 
 - (void)tiZhong:(double)weight;
 - (double)weight;
 */
@property (setter=tiZhong:)double weight;
#warning readonly(只读)
// readonly : 代表只生成getter方法 不生成setter方法
@property (readonly) NSString *name;

#warning 例子 判断是否已经 已婚了
/*
 isMarried 说明已经 已婚了
 
// 是否已婚
// 程序员之间有一个约定, 一般情况下 获取BOOL类型的属性的值,我们都会将 获取的方法的名称(get方法) 改为 isXXX
 */
@property (getter=isMarried)BOOL married;
@end
Person.m
#import "Person.h"

@implementation Person

@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pragma mark property修饰符 pragma mark 概念 pragma mark 代码 Per...
    liyuhong165阅读 333评论 0 0
  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,093评论 3 38
  • 大纲 0.OC数据类型 1.声明一个类 2.实现一个类 3.创建一个对象 4.对象的注意点 5.对象方法 6.类方...
    天天想念阅读 1,147评论 0 3
  • 今天看到一篇不错的文章关于OC内存管理的,转载一下与你共享概述我们知道在程序运行过程中要创建大量的对象,和其他高级...
    niceSYT阅读 469评论 0 2
  • 形成于睡梦中两小时 夏日的工地 夏日的墙 深色森林的上空盘踞着 碎云徘徊不前 徘徊的征兆 黑鸟 在云端走 在发光
    雲归阅读 62评论 0 0