黑马程序员——类与对象
来源:互联网 发布:送男朋友什么礼物知乎 编辑:程序博客网 时间:2024/05/22 15:50
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
1、类的设计
类有三个步骤:类名、属性、行为(功能)
类的设计:类名首字母必须大写,不能有下划线,而且多个英文单词用驼峰标识。
类有三个步骤:类名、属性、行为(功能)
类的设计:类名首字母必须大写,不能有下划线,而且多个英文单词用驼峰标识。
如:(1)植物大战僵尸
*类名:Zoombie(僵尸)
*属性:life(生命值)、speed(速度)、gongjil(攻击力)
*行为:walk(走)、bite(咬)、die(死)
(2)雷电的飞机
*类名:Plane
*属性:life(生命值)、speed(速度)、gongjil(攻击力)、bomcount(炮弹数)
*行为:fly(飞)、bomb(爆炸)、die(死)
所以,哪个对象最清楚这个行为,就把这个行为写到哪个对象中去。
2、类的声明和实现
类名:Car
属性:轮胎个数,时速
行为:跑
#inport<Foundation/Foundation.h>//声明@interface Car :NSObject{ //声明对象属性 @public int wheels; int speed;}//方法:方法名,参数,返回值//只要是OC对象的方法,必须以减号-开头//OC方法中任意数据类型都需用括号()括住-(void)run;@end//实现@implementation Car//方法的实现-(void)run{ NSLog(@"车子跑起来了"); }@endint main(){ //在OC中,想执行一些行为就写上一个中括号[] //利用类创建对象 //执行Car这个类的new行为来创建新对象,并且会返回新对象本身 //定义指针变量p,指向Car类型的对象 Car *p = [Car new]; //p指向对象的wheels属性赋值 p->wheels = 4; //p指向对象的speed属性赋值 p->speed = 250; NSLog(@"车子有%d个轮子,时速是%dkm\h",p->wheels,p->speed); //给p指向的对象发送run消息 [p run];}
输出结果:车子有4个轮子,时速是250km\h
车子跑起来了
3、类Person的设计
类名:Person
//成员变量(实例变量)
属性:体重,年龄
行为(方法):走路
#inport<Foundation/Foundation.h>//声明@interface Person :NSObject{ //声明对象属性 @public int age double weight;}//方法:方法名,参数,返回值//只要是OC对象的方法,必须以减号-开头//OC方法中任意数据类型都需用括号()括住-(void)walk;@end//实现@implementation Person//方法的实现-(void)walk{ NSLog(@"%d岁%f公斤的人走了一段路"); }@endint main(){ //在OC中,想执行一些行为就写上一个中括号[] //利用类创建对象 //执行Person这个类的new行为来创建新对象,并且会返回新对象本身 //定义指针变量p,指向Person类型的对象 Person *p = [Person new]; //p指向对象的age属性赋值 p->age =14; //p指向对象的weight属性赋值 p->weight = 50.0; //给p指向的对象发送walk消息 Person *p1 = [Person new]; p1->age =20; p1->weight = 45.0; p = p1; p->age = 40; [p1 walk];}
输出结果:40岁45公斤的人走了一段路
总结:
当第一次调用类[Person new]时,所以,将类加载进内存。
所以,实际上创建对象之前会有存储空间分给类(类中只有方法列表)。
且每个对象内部默认有一个指针isa,这个指针指向类。
方法列表是各对象一起使用的。
0 0
- 黑马程序员——类与对象
- 黑马程序员——类与对象
- 黑马程序员——类与对象
- 黑马程序员——类与对象
- 黑马程序员—面向对象与类
- 黑马程序员——面向对象2:类与对象
- 黑马程序员——对象与函数
- 黑马程序员——ObjC基础—类与对象
- 黑马程序员——OC—类与对象
- 黑马程序员——类与对象的总结
- 黑马程序员——Objective-C中的类与对象
- 黑马程序员——对象方法与类方法
- 黑马程序员——类与对象的关系
- 黑马程序员—OC语言基础—类与对象
- 黑马程序员——JAVA基础---类与对象
- 黑马程序员——类与对象2
- 黑马程序员—Java类与对象的初始化
- 黑马程序员----------对象与类
- 后缀树
- c# windows服务中启动进程
- MII(2)
- Android多线程问题—— AsyncTask机制
- Mysql不得不用储存过程代替触发器
- 黑马程序员——类与对象
- 话务预测(2) 数据
- 创业:中国农批市场的那些事儿
- 51NOD1024 矩阵中不重复的元素
- HDU 1242 Rescue
- 求逆矩阵的c++实现
- hdu-1878 欧拉回路
- java 冒泡,手动输入会输出排序结果
- 异步等待的 Python 协程