@property和@synthesize快速生成getter setter方法

//@property: 可以自动生成某个成员变量的setter和getter声明,用于类的.h文件中

@property int age;

  相当于

- (void)setAge:(int)age;

- (int)age;

同一类型的数据写法

@property int age,age1;

//@synthesize:自动生成age的setter和getter的实现

@synthesize age = _age

相当于

- (void)setAge:(int)age
{
  _age = age;
}
- (int)age
{
  return _age;
}

同一类型的数据写法

@synthesize age = _age,age1 = _age1;

最精简写法在类 .h文件中的直接写入,直接生成getter 和setter的声明和实现

@Interface Dog : NSObject
@property int age
@end

手动实现方法

如果手动实现setter发法,编译器就只会自动生成getter方法

如果手动实现getter发法,编译器就只会自动生成setter方法

如果手动实现了getter和setter方法,编译器将不会自动生成不存在的成员变量

时间: 2024-10-01 23:00:37

@property和@synthesize快速生成getter setter方法的相关文章

黑马程序员_Objective C中的@property 与 @synthesize 快速生成setter getter方法

<a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>.<a href="http://www.itheima.com"target="blank">.Net培训</a>.期待与您交流! 一般来说在一个类中 成员变量是会有setter 跟getter方法的. 如果每一个成员变量的setter 跟gett

lombok注解为java类生成Getter/Setter方法

1. 先到lombok官网下载lombok.jar包 : http://projectlombok.org/ 2. 下载了之后的两种安装方法: 1. 双击下载下来的 JAR 包安装 lombok 我选择这种方式安装的时候提示没有发现任何 IDE,所以我没安装成功,我是手动安装的.如果你想以这种方式安装,请参考官网的视频. 2.eclipse / myeclipse 手动安装 lombok 1. 将 lombok.jar 复制到 myeclipse.ini / eclipse.ini 所在的文件夹

android studio: 快捷键生成getter/setter方法时自动加m的问题

平时使用Android Studio 在写实体类的时候,习惯给实体类的成员变量前面加上一个"m" 修饰符表示这是一个成员变量,这也是搞java的一种约定俗成的写法,本来这是没有问题的,可是在默认情况下使用快捷键生成getter()/setter()方法时,生成的getter()/setter()方法名居然也加了“m” ,成员变量的个数少了也就罢了,自己一个一个手改,成员变量的个数一多,改的人头都大了! 比如我要给一个名为Person的实体类生成getter()/setter()方法 使

在WPF下快速生成线的方法

如果线较多时,在画布中用Path或Line生成时会比较慢.用DrawingVisual可以快速生成,这个在之前我的博客中已经提到.但在类库形式下生成的无法看到,保存成Image后再加入图层后成功显示.   DrawingVisual drawingVisual = new DrawingVisual(); DrawingContext drawingContext = drawingVisual.RenderOpen(); Pen pen = new Pen(Brushes.DarkGray,

@property 取代getter setter方法

利用私有属性 class Money(object): def __init__(self): self.__money = 0 def getMoney(self): return self.__money def setMoney(self, value): if isinstance(value, int): self.__money = value else: print("error:不是整型数字") 定义一个property属性 class Money(object): d

使用lombok注解@Getter @Setter方法代码编译成功,但是没有生成get,set方法

现象描述: 在对应类对象中,添加lombok的@Getter或@Setter注解,编译没有问题,但是在使用类对象时,没有出现对应的get或set方法. 配置且编译ok,但是没有对应的get或set方法. 检查或者按照下列步骤配置: 1.将下载的lombok.jar放在与eclipse.ini同级目录下. 2.检查eclipse.ini文件中-javaagent:绝对路径\lombok.jar(检查或者添加lombok.jar在eclipse.ini文件中的配置). 3.将project--> B

linux快速生成大文件方法

dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源) 但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果欲产生超大文件,速度很慢 在某种场景下,我们只想让文件系统认为存在一个超大文件在此,但是并不实际写入硬盘. 则可以dd if=/dev/zero of=test bs=1M count=0 seek=10

@synthesize、 @dynamic 的使用方法

在声明property属性后,有2种实现选择 @synthesize 编译器期间,让编译器自动生成getter/setter方法. 当有自定义的存或取方法时,自定义会屏蔽自动生成该方法 @dynamic 告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告 然后由自己实现存取方法 或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSManagedObject子类时使用,由Core Data框架在程序运行的时动态生成子类属性 @dynamic这个关键词,通常是

idea中Lombok的Buider构造器模式,getter/setter正确使用方法

public class ApiUser implements Serializable { private Long id; /*** * 用户类型:single,org(organization) */ private String type; private String loginName; /*** * 身份证姓名/组织机构名称 */ private String name; /** * 身份证号码/营业执照号码 */ private String idNum; private Str