首页 > 代码库 > 黑马程序员-OC-面向对象
黑马程序员-OC-面向对象
------- IOS培训、android培训、java培训、期待与您交流! ----------
面向对象和面向过程的区别
面向过程关心的是解决问题需要哪些步骤。
面向对象关注的是解决问题需要哪些对象。
oc中的面相对象
- 世界万物皆对象。
- 面向对象更加复合人民的思考习惯,将复杂的事情简单化处理,使人民从执行者变成了指挥者
- oc中的类相当于图纸,用来描述一类事物。也就是说,要想创建对象,必须先有类
- oc利用类来创建对象,对象是类的具体存在
- 因此,面向对象解决问题应该是先考虑需要设计哪些类,再利用类创建多少个对象。
什么是类?
- 相当于现实当中的图纸,是具体事物的抽象,描述属性和行为。对无数个对象相同 属性的概括描述。一般名词都是类。
- 要描述OC中的类稍微麻烦一点,分2大步骤:类的声明、类的实现(定义),跟函数类似,函数有分声明和定义。
在main函数中创建对象
在oc中要想让类去执行一些行为(功能),必须[类名/对象 方法名称] [方法调用者 方法名称]
//通过类名调用的方法,叫类方法
//通过对象调用的方法,叫对象方法
oc中只能用指针变量来间接操作对象
[Car new]每次都会创建一个新对象 并且会返回新对象本身(新对象的地址)
Car *p=[car new]
代码编写:
1 #import <Foundation/Foundation.h> 2 3 1 类的声明 4 5 @interface Car : NSObject 6 7 { 8 9 @public10 11 int _wheels; // 轮子个数,这里不容许给成员变量赋值 int _wheels = 5;错写法12 13 int _speed; // 时速 static int _speed; 不容许 不能随便将成员变量当c语言14 15 中的变量来使用16 17 }18 19 - (void)run; // 跑的行为20 21 @end22 23
2 类的实现
1 @implementation Car 2 3 - (void) run 4 5 { 6 7 NSLog(@"%i个轮子,%i时速的车子跑起来了", wheels, speed); 8 9 }10 11 @end
3 创建对象
1 // 主函数 2 3 int main() 4 5 { 6 7 // 创建车子对象 8 9 Car *p ; // 局部变量,在栈区10 11 *p = [Car new];//在堆里面创建了一个对象12 13 p->wheels = 4;14 15 p->speed = 300; 16 17 NSLog(@"车有%d个轮子,时速在%dkm/h",c->wheels, c->speed);18 19 return 0;20 21 }
函数跟方法的区别:
1、对象方法以“—”号开头
2、对象方法的声明只能放在@interface和@end之间
3、对象方法的实现必须写在@implementation和@end之间
4、对象方法只能由对象调用
5、对象方法归类/对象所有
函数
1、函数跟对象没一点关系的 归文件所有 能写在文件的任意位置
但是不能把函数写在@interface和@end之间
2、函数调用不依赖于对象
3、函数内部不能直接通过成员变量名访问对象的成员变量
关于类和对象:
1>类关注点: 具有相同属性或行为的对象都可抽象成一个类 ,类是抽象的
1>类关注点: 具有相同属性或行为的对象都可抽象成一个类 ,类是抽象的
类名(第一个字母必须大写,不能有下划线);
属性;
行为(功能)
2>对象:对象是根据类创建而来,是实体。
黑马程序员-OC-面向对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。