首页 > 代码库 > 黑马程序员-OC-面向对象

黑马程序员-OC-面向对象

                         ------- IOS培训、android培训、java培训、期待与您交流! ----------

 

面向对象和面向过程的区别

面向过程关心的是解决问题需要哪些步骤。

面向对象关注的是解决问题需要哪些对象。

oc中的面相对象

      1. 世界万物皆对象。
      2. 面向对象更加复合人民的思考习惯,将复杂的事情简单化处理,使人民从执行者变成了指挥者
      1. oc中的类相当于图纸,用来描述一类事物。也就是说,要想创建对象,必须先有类
      2. oc利用类来创建对象,对象是类的具体存在
      1. 因此,面向对象解决问题应该是先考虑需要设计哪些类,再利用类创建多少个对象。

什么是类?

    1. 相当于现实当中的图纸,是具体事物的抽象,描述属性和行为。对无数个对象相同     属性的概括描述。一般名词都是类。
    2. 要描述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>类关注点:  具有相同属性或行为的对象都可抽象成一个类 ,类是抽象的

 

         类名(第一个字母必须大写,不能有下划线);

 

         属性;

 

         行为(功能)  

 

    2>对象:对象是根据类创建而来,是实体。

 

  

 

 

 

黑马程序员-OC-面向对象