黑马程序员------object-c面相对象_类的实例化
来源:互联网 发布:新版mac如何强制关机 编辑:程序博客网 时间:2024/06/04 19:44
知识要点:isa,成员变量,函数
下面是根据视频练习的代码:
#import <Foundation/Foundation.h>typedef enum { red,blue,green}DogColor;typedef enum{ male,femle}Sex;@interface Dog: NSObject{ @public DogColor dogColor; int speed; double weight; Sex sex;}-(void) eat;-(void) wang;-(void) run;-(BOOL) isSameColor:(Dog *) dog;-(int) compareSpeed:(Dog *) dog;@end@implementation Dog- (void) eat{ weight += 0.5; NSLog(@"狗吃完长肉,%f",weight);}- (void) wang{ }-(void) run{ weight -= 0.5; NSLog(@"狗跑完减肉,%f",weight);}- (BOOL) isSameColor:(Dog *) dog{ return dogColor == dog->dogColor;}-(int) compareSpeed:(Dog *) dog{ return speed - dog->speed;}void testDog(){ Dog *dog1 = [Dog new]; dog1->weight = 10; dog1->speed = 100; dog1->dogColor = red; Dog *dog2 = [Dog new]; dog2->weight = 100; dog2->speed = 80; dog2->dogColor = red; NSLog(@"The dog is same color?%i",[dog1 isSameColor:dog2]); NSLog(@"The speed comapre: %d",[dog1 compareSpeed:dog2]);}int main(){ testDog(); return 0;}
类的方法
1.-实例函数,对象的方法
2.对象的方法声明在@interface和@end之间
3.对象的方法只能用对象来调用
4.对象方法只能由对象调用
函数
1.函数能写在除@interface和@end之间的任意位置
2.函数对象不依赖于对象
3.函数内部不能直接通过成员变量名访问某个对象的成员变量
2.+成员函数
语法补充:
NSLog(@"字符串:%@",name);
NSLog(@"字符:%c",a);
NSLog(@"布尔值:%i",isShow);
NSLog(@"整形:%i",i);
NSLog(@"单精度浮点数: %f",f);
NSLog(@"精度浮点数,且只保留两位小数:%.2f",f);
NSLog(@"科学技术法:%e",f);
NSLog(@"科学技术法(用最简短的方式):%g",f);
ISA
任何一个对象继承或者间接继承NSObject的类,它的实例对象都会有一个isa指针,指向类的对象(已经实例实例化),这个里面包括了变量,方法,遵守的协议等(用于存放类的数据)。
详解oc的对象模型(http://blog.devtang.com/blog/2013/10/15/objective-c-object-model/)
0 0
- 黑马程序员------object-c面相对象_类的实例化
- 黑马程序员------object-c面向对象_继承
- 黑马程序员--Object-C 对象的特性
- 黑马程序员_面向对象第8天多态 object类
- 黑马程序员_java中的面相对象1
- 黑马程序员_向对象的核心思想+实例Day15
- 黑马程序员_对象的序列化
- 黑马程序员_关于object类的学习
- 黑马程序员-Object-C语言中创建类和对象的知识整理
- 黑马程序员-Object-C封装,和对象.类方法,self关键字的用法总结
- 黑马程序员--------------对象的实例化思考
- 简单的ABAP面相对象实例
- 黑马程序员_Objective-C语言_类和对象
- Object-C 学习笔记(八)---面相对象(继承)
- Object-C 学习笔记(九)---面相对象(多态)
- 黑马程序员_第六天视频学习 Objective-C的基本语法、类和对象
- 黑马程序员_Java基础_面向对象(多态、Object类相关方法)
- 黑马程序员-Object C之单个对象和多个对象的内存管理
- 你应该远离的6个Java特性
- 针对自己的情况,NVIDIA驱动的使用
- 【树dp+状态机背包】 自驾旅行III 找最小权路径
- Service和Thread的关系
- 盲目匆忙,而忘记了思考
- 黑马程序员------object-c面相对象_类的实例化
- mac 常用软件备份
- C# 程序员最常犯的 10 个错误
- 【Java.Web】JSP —— EL —— 基础
- .NET进阶—Nhibernate之Session
- zoj 3814
- java压缩与解压压缩文件
- 国庆要完了 以后打算多研究下linux
- linux文件系统实现浅析