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

OC基础(一)面向对象

时间:2015-02-04 11:10:55      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:oc

一、OC概述

1.简介

OC是基于C,所以在代码上是完全兼容C的。在OC中,你可以使用C的语法,甚至C++的语法。

C是面向过程的语言,而OC是面向对象的语言。

2.关键字

OC中的关键字都以“@”开头。

如:@public、@string


二、面向对象

1.面向对象和面向过程

是考虑事情的2种不同思想。面向过程,考虑的是做事情需要哪些步骤,面向对象考虑的则是谁能做这些事。

就比如:我想打电话

面向过程:开机->找到通讯录->拨打号码

面向对象:找手机

2.OC中的面向对象

1)要想创建一个类的对象,必须先有该类的声明。在类的声明中,可以声明类的属性和方法。

2)然后,进行类的实现,主要就是对类中的方法进行实现。

3)创建类的对象,并赋值。需要用指针,在OC中,操作对象一定且只能用指针。

3.OC中的"[]"和”()“

1)在OC中,行为要使用”[]“。

如:创建对象:Person *p =[Person new];

       调用方法:[p walk];

2)在OC中,”()“只能用于括住数据类型,不能乱用,更不能作为方法的后缀。

4.实例

#import <Foundation/Foundation.h>
@interface Person : NSObject
{
    @public
    double weight;
    int age;
}
- (void)walk;

@end

@implementation Person

- (void)walk
{
    NSLog(@"某人有%d岁,体重为%fkg,有走路的方法!",age,weight);
}

@end
int main()
{
    Person *p1 = [Person new];
    p1->weight=89.2;
    p1->age=30;
    NSLog(@"年龄为%d,体重为%f",p1->age,p1->weight);
    
    [p1 walk];//指针对象向Person对象发送消息,调用方法,那么对象的属性也可以直接用
    
    Person *p2 =[Person new];
    p2->weight=90.2;
    p2->age =40;
    
    p1=p2;
    
    p1->age=50;
    
    [p2 walk];
    return 0;
}
解析:

1)类的声明

使用”@interface ...@end“,且必须继承NSObject,由于该类位于Foundation框架中,所以必须导入该框架。

2)属性声明

使用"{}",可以使用@public关键字,在该关键字之后的属性都是共有的。

3)方法声明

必须严格遵守格式:

如:- (void)run;

如:- (void)eat;

4)类的实现

使用"@implementation...@end"。

5)方法的实现

要想使用声明的方法,必须实现该方法。格式:

如:- (void)run{...}

6)创建对象和赋值

Person *p = [Person new];//新建一个指针对象,指向新建的Person对象

p->weight=120.8;//创建指针对象就是为了操作该对象,并赋值。

p->age=30;

7)调用类的方法

[p run];

















OC基础(一)面向对象

标签:oc

原文地址:http://blog.csdn.net/z18789231876/article/details/43482217

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