类的设计与匿名对象 - /*
- 类设计练习
- 1.设计一个人类,每个人都有姓名,生日,性别.每个人都有说话与笑的方法.
- 2.设计一个家庭类有在三个成员,父亲 母亲 孩子.
- 注意:类的属性可以是任意类型
- 2.在类的设计的时候,注意尽量高内聚,低耦合.
- 有关联的属性尽量封装成一个模块,以实现高内聚.而模块与模块之间要尽量独立,以实现低耦合.---类的设计原则
- */
- #import <Foundation/Foundation.h>
- typedef struct{
- int year;
- int month;
- int day;
- } Date;
- typedef enum{
- MAN,
- WOMAN,
- }SEX;
- //定义一个人类
- @interface Person : NSObject{
- @public
- char *name;//姓名
- Date birthDay;//生日
- SEX sex;//性别
1.一个类中的属性可以是任何类型 2.类设计的两个原则,高内聚与低耦合 高内聚:就是有关联的属性要封装起来,成为一个单一的模块//对于类而言 低耦合 : 就是一个类中各模块应该尽量独立//对于项目而言 3.一个对象可以没有变量名直接使用,这个对象就称为匿名对象 如下:[Person new]->age;//直接用对象获取属性,而不是对象的指针//用完就销毁,下次你没有办法再次引用 给对象中的一个char* name赋值时,p->name="frame";和C语言一样注意%s和%@的用法 file:///var/folders/r_/3xqc6gh50w589cz485_g9nph0000gn/T/WizNote/d44b4278-ba24-4d6f-8af0-2826c273f9c3/index_files/7748027.png
/*类与对象的内存机制 1.属性(成员变量)是在对象里 2.方法是在类中 3.对象与类都会在内存开辟空间 同一个类的对象都含有这个类的一个isa指针,所有的对象都指向同一个类 4.对象的指针调用方法时,实际是发了一个消息给对象,对象根据消息去找isa指针指向的类中对应的方法去执行 5.方法中如果调用属性,则是哪个对象的请求,就调用哪个对象的属性
|