@property @synthesize 对着set方法和get方法

@property

@synthesize

  1. 这两个的作用是代替set和get方法;
  2. @property int age;代替下面两句
  3. - (void)setAge:(int)age;
  4. - (int)age;
  5. 作用:
  6. 自动生成某个成员变量的setter和getter声明;
  7. @property double weight;
  8. @property NSString *name;
  9. 现在需要到实现中去实现;
  10. 使用@synthesize age;会把age property这些声明进行实现;
  11. @synthesize age = _age;来指定对谁赋值;
  12. p代表property
  13. @synthesize age = _age,name = _name;
  14. @propterty int speed,wheels;
  15. @synthesize speed = _speed,wheels = _wheels;会访问_speed这个成员变量,如果不存在,就会自动生成@private类型的_speed变量;
  16. 一般是很少连在一起的,都是分开的;
  17. 在xcode4.4之后,@property既生成声明又生成实现;既生成set方法又生成get方法;
  18. 用@property来实现和声明,里面的成员变量都是私有的,如果想子类去访问,需要单独设置成员变量;
  19. @synthesize speed;如果speed不存在,就会自动生成@private类型的speed变量;
  20. @synthesize speed = _speed,,如果 _speed 不存在,就会自动生成@private类型的_speed变量;
  21. 默认情况下,setter和getter方法中的实现,会去访问下划线_开头的成员变量;
  22. 如果用户自己定义了,xcode就不会自动生成;
  23. 若手动实现了setter方法,编译器就只会自动生成getter方法;
  24. 若手动实现了getter方法,编译器就只会自动生成setter方法;
  25. 若同时手动实现了setter和getter方法,编译器就不会自动生成不存在的成员变量;
时间: 2024-10-10 10:09:13

@property @synthesize 对着set方法和get方法的相关文章

基础回顾:get方法和set方法(类的继承多态)

基础回顾:get方法和set方法 定义类成员变量时,可以在@interface中定义,也可以在@implementation中定义: 在@interface中声明,成员变量的状态是受保护的,即“@protected”: 在@implementation中声明,成员变量的状态是私有的,即“@private” 在类的外面,是无法直接访问成员变量的,只有将成员变量修改为@public时,才可以外部访问. 使用@public时,访问成员变量使用“->”,如: time->hour=25; 但使用@pu

jQuery的attr方法和prop方法的区别及相关bug处理

以下是jQuery API文档对attr方法和prop方法的概述: attr(name|properties|key,value|fn):Get the value of an attribute for the first element in the set of matched elements or set one or more attributes for every matched element.(获取匹配元素集合中的第一个元素的属性值,或为每一个匹配元素设置一个或多个属性) p

jquery中prop()方法和attr()方法的区别

jquery1.6中新加了一个方法prop(),一直没用过它,官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值. 大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是un

ExtJS中listener方法和handler方法的区别

listener方法和handler方法的区别在文档中的说明的太玄乎了,看不懂 listeners监听能够对一个click Event事件添加任意多个的事件响应处理函数 而handler处理只能够通过处理函数一次处理点击响应 Ext.create('Ext.Button', { text : 'Dynamic Handler Button', renderTo: Ext.getBody(), handler : function() { // this button will spit out

详解equals()方法和hashCode()方法

前言 Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码.equals()和hashCode()都不是final方法,都可以被重写(overwrite). 本文介绍了2种方法在使用和重写时,一些需要注意的问题. 一.equal()方法 Object类中equals()方法实现如下: public boolean equals(Object obj) { return (this == obj); } 通过该实现

【学习笔记】【OC语言】set方法和get方法

1.set方法和get方法的使用场合@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检.水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数2.set方法作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值命名规范:方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写形参名称不要跟成员变量同名3.get方法作用:返回对象内部的成员变量命名规范:get方法的名称一般就跟成员变量同名4.成员变量的命名规范成员变量都以下

java 数组的 toString 方法和 equals 方法以及 java.lang.Object 对象的 toString 方法和 equals 方法

1 public class Test { 2 public static void main(String[] args) { 3 int[] a = {1, 2, 4, 6}; 4 int[] b = a; 5 int[] c = {1, 2, 4, 6}; 6 7 //下面这个方法打印的是a数组的引用地址 8 System.out.println(a.toString()); 9 //下面这个方法比较的是两个数组的引用是否相等 10 System.out.println("a.equals

黑马程序员 02-set方法和get方法

———Java培训.Android培训.iOS培训..Net培训.期待与您交流! ——— 1.set方法与get方法的使用场合 @public的成员变量可以被外界随意赋值,往往会产生脏数据,应该使用set方法和get方法来管理成员的访问(类似安检.水龙头过滤,过滤掉不合理的对象),不如人的年龄不可能为负. 2.set方法 (1)作用:给外界提供一个公共的方法用来设置成员变量值,可以在方法里面过滤掉一些不合理的值: (2)命名规范: 1> 方法名必须以set开头 2> set后面跟上成员变量的名

virtual方法和abstract方法

在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别.二者都牵涉到在派生类中与override的配合使用. 一.Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法.virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法. 情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法.那么在对派生