码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-01-02 06:20:10      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

                         ------- 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     @public
10 
11     int _wheels; // 轮子个数,这里不容许给成员变量赋值 int _wheels = 5;错写法
12 
13     int _speed; // 时速  static  int _speed;  不容许  不能随便将成员变量当c语言
14 
15                                         中的变量来使用
16 
17 }
18 
19 - (void)run; // 跑的行为
20 
21 @end
22 
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-面向对象

标签:

原文地址:http://www.cnblogs.com/zhangxining/p/4198066.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!