JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中.特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性.名称中的“Bean”是用于Java的可重用软件组件的惯用叫法(维基百科) 特点 1.所有属性为private2.提供默认构造方法3.提供getter和setter4.实现serializable接口 JavaBean的成员变量和属性名称在一般情况下上是一样的, public class People{ private Str…
属性可以用点语法,比如self.xxx,在外部调用也同样可以someClass.xxx. 属性实际上是对一组set和get方法的简单封装(oc的get方法没有get前缀),同样会自动生成一个私有的成员变量(名称为:下划线+属性名). 成员变量无论是全局还是局部的,都只能在本类或当前函数中使用,在其之外的地方无法直接调用(可以通过间接的方式调用). 在本类使用时,属性self.xxx会给私有的_xxx变量增加一次引用计数,相当于多retain了一次.如果不使用ARC,分别给普通变量和属性赋值,打印…
一.类Class中的属性property 在ios第一版中,我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如: @interface MyViewController :UIViewController { UIButton *myButton; } @property (nonatomic, retain) UIButton *myButton; @end 最近,苹果将默认编译器从GCC转换为LLVM(low level…
[转载自并整理 http://blog.csdn.net/itianyi/article/details/8618128] 一.类Class中的属性property 在ios第一版中,我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如: @interface MyViewController :UIViewController { UIButton *myButton; } @property (nonatomic, reta…
iOS分类: 很多说法是只能添加方法,而不能添加成员变量或属性. 有些人可能知道,这种说法是不严谨的,并不是绝对不能添加变量. 解释如下: 我们知道在一个类中用@property声明属性,编译器会自动帮我们生成_成员变量和setter/getter,但分类的指针结构体中,根本没有属性列表.所以在分类中用@property声明属性,既无法生成_成员变量也无法生成setter/getter. 因此结论是:我们可以用@property声明属性,编译会通过,但run之后就会崩溃. 问题来了.. 既然报错…
[转]iOS中属性与成员变量的区别 ios中属性修饰符的作用 1. 属性用property声明 2. 简而言之,对于目前的ios开发,属性和成员变量的区别,完全可以不管. 3. 这个是历史原因造成的.苹果更换了默认的编译器(GCC转换为LLVM(low level virtual machine)),增加了一些编译器特性. 4. 以前使用GCC的时候,需要同时声明:属性和成员变量(实例变量). 5. 现在使用LLVM的时候,不再需要为属性,声明对应的成员变量了.LLVM发现没有的话,会自动生成.…
属性声明 public int age { get; set; } 从功能上等价于 private int m_age; public int age {get { return m_age; }set { m_age = value; }}   在这里,属性和成员变量的区别不大. 等价于 public int age;   也就是一开始的时候, 无视 有限性.读写权限的情况下.先偷懒, 写成public int age { get; set; } 项目写到某个阶段了, 要求 age 数值必须有…
IOS 杂笔-19(属性与变量的优缺点) 在前面的文章中我介绍了属性与变量的区别.这篇博客我将会简单介绍一下属性与变量的优缺点. 变量 优点: 访问速度快 缺点: 使用不灵活 属性 缺点: 耗时 优点: 防止对象被提前创建 防止对象重复创建 防止对象使用时,还没被创建 可以在懒加载方法里面,进行初始化操作…
iOS 杂笔-21(self.name = "object" 和 _name ="object" 有什么不同?) 问题如题,这是考察对属性与变量的了解而已. self.name = "object" 是self调用了setName: _name ="object" 是对变量的直接赋值 (属性与变量的优缺点我在前面的文章有错提及)…
iOS 杂笔-25(不要用copy修饰NSMutableString) 首先对题目进行简单的解释,我所说的不要用copy修饰NSMutableString不是说完全不可以用.但是要清楚一点,既然使用NSMutableString就是想应用它的可变属性,然而当我们用copy修饰NSMutableString后当我们实例化时,生成的是不可变的,当我们第一次使用可变操作时程序会崩溃,因此说不要用copy修饰NSMutableString,与其同理的还有可变数组等.下面是验证操作. 用copy修饰NSM…