黑马程序员技术交流社区

标题: RIDP Note I——类与对象 [打印本页]

作者: RIDP    时间: 2015-9-21 12:00
标题: RIDP Note I——类与对象
[课程笔记1-OC-类与对象]

一、[基本概念]
类:一类事物共同特征和行为的抽象
对象:类的具体个体[可以理解为构成类的元素]

        范例:     
                类:车类
                对象:1)拖拉机  2)轿车  3)超跑  4)悍马
     也就是说,现在有一个类,名称叫做车,这个类实例化了4个对象,分别是1\2\3\4
二、[定义方式]
类的定义:
[先复习一下,结构体的定义是什么?]
    struct 结构体名称{
        元素
}结构体变量;

    [类的定义是什么?]

    类的定义分为两部分:
        1)类的声明(规定类的类名,属性,行为)
            一般形式
            @interface 类名:父类名
            //@interface和@end成对出现
            {
                //在这里定义类的属性
            }
                //括号外定义类的行为  [就是方法]
            @end

        2)类的实现(实现具体的行为)
            一般形式
            @implementation 类名
                //行为的具体实现
            @end

在Xcode6.4中,类文件创建完成后,左边一栏中一般有两个文件
.h:类的声明文件,用于声明成员变量、方法
类的声明通常使用两个关键字

@interface
@end

.m:类的实现文件,用于实现.h中声明的方法
类的实现通常使用关键字
@implementation
@end



[方法]
方法的声明实现都必须以"+","-"开头
'-'开头的方法是对象方法,调用的主体是类实例化的对象
'+'开头的方法是类方法,调用的主体是类
eg:
-(void)test1;
+(void)test2;
上面有两个方法
现在有一个类Person,实例化了一个对象 p
Person *p = [Person new];
减号的方法由对象 p 来调用
加号的方法由类  Person来调用
[p test1]
[Person test2]
在.h中声明的所有方法作用域都是public,不可变更


[成员变量]
成员变量的常用作用域有三种:
@public    全局访问
@protected 只能在类内部和子类中访问
@private   只能在类内部访问

三、[代码范例]
//声明一个类
@interface Autos : NSObject
{
    //属性
    NSString *name;
    NSString *color;
    int speedLimit;
}
    //行为
@end
//类的实现
@implementation Autos
//行为的具体描述
@end

对于类和对象的基本了解就是这么简单容易
作者: Blcak_Horse_Sam    时间: 2015-9-21 12:10
不错不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2