day01-OC类和对象

/*
   1类和对象
 
 什么是对象
 
 是现实生活当中的一个具体存在。看得见 摸得着。拿过来就可以使用
 
 2什么是类
 
 物以类聚 人以群分
 类是对一群有相同特征的事物的统称。抽象的。不能直接使用
 
 3案例
 
 食物
 水果
 苹果。 类
 烟台苹果。
 小洞早上吃的苹果。对象
 交通工具。类
 汽车 类
 
 ==============
 类和对象的关系
 
 类是模版。类的对象是按照这个模版创建出来的
 类的模版有什么,对象中就有什么。绝不可能多,绝不可能少
 
 类是制造月饼的模子。模子不能吃 所以类不能直接使用
 对象是根据模子制造出来的月饼。模子上有什么,月饼就有什么 不会多不会少
 月饼可以吃。对象可以直接使用
 
 2如何设计一个类
 类的作用:用来描述具有相同特征和行为的事物
 
 设计类的三要素:
 
 一》 类的名字。 描述事物的名字
 二》这类事物具有的相同特征。这类事物都拥有什么
 三》这里事物具有的相同行为。这类事物做什么
 
 3 如何找到类
 
 名词提炼法:分析整个业务流程,分析出现了哪些名词,这些名词就是你要找的类
 
 3两坦克发射 了6枚炮弹射中了3架飞机
  坦克类
     特征:型号,大小,材质,射程,重量,材质
 行为:发射炮弹 行驶
 炸弹类
 特征:型号,大小,材质,射程,重量,材质
 行为:飞 爆炸
 飞机类
 特征:型号,座位数量
 行为:飞。爆炸
 
 1 先有类还是先有对象
 
 现实角度先有对象才有类
 代码角度先有类后用对象
 
 2再次确认类的作用。描述具有相同特征和行为的事物
 
 3 如何定义一个类
  1)类的三要素
 2)定义类的语法
 a 位置 写在源文件中 不要写在main方法中
 b 语法:
 
 
 类的定义有两部分。
 1 类的声明
 @interface 类名:NSObject
 {
   这类事物具有的共同特征,将他们定义为变量
 
 
 
 }
 功能就是一个方法,将方法声明写在这里
 @end
 2 类的实现
 
 @implementation 类名
 
 将方法的实现写在这里
 
 @end
 
 
 3 几点注意
 a 类必须要有声明和实现
 b 类名用描述的事物的名称来命名就可以
 类名的每一个单词的首字母必须大写开头
 
 c。NSObject  什么意思不用管
  //变量必须写在interface 大括号里面。用来表示这类事物的共同属性。也叫属性 成员变量 实例变量 字段
 
 语法是固定的
 @interface Person : NSObject{
//这类事物的共同属性叫变量
 //变量名一定要以下划线开头。 NSString * _name;
 数据类型 变量名1;
 数据类型 变量名2;
 。。。。。。
 }
 
 @end
 
 @implementation 类名
 
 
 
 @end
 
 4 类的定义
 1类的作用
 
 2类的三要素
 
 3类的定义
 
 
 5类是无法直接使用的
 如果要使用这个类就要先找的这个类的具体存在再使用这个对象
 
 类和对象的关系
    类中有的东西。这个对象也会有 不多不少
 对象也可以使用。现在就需要找到这个对象
 
 如何创建类的对象
 语法。类名 *对象名 =   [ 类名 new ];
 
   Person   *p1=[Person new];
 
 根据Person这个类创建了一个对象 p1
  p1对象的特点
 
 -》可以直接使用
 -〉类中定义的东西对象中也有不多不少
 
 
 6 如何使用对象
 如何访问对象的属性
 1)默认情况下,对象的属性一般不对外界直接访问的
 如果允许对象的属性可以被外界访问 那就在声明的属性前加一个@public关键字
 
 2)访问对象属性的方法
 对象名->属性名 =值;
 
 对象名->属性名;   来取值
 
  NSLog(@"p1对象的名字是%@",p1->_name);
 
 (*对象名).属性名=值;
 //赋值的一种方法
 (*p1)._name=@"jack";
 
 平时使用->  方便
 */

 

#import <Foundation/Foundation.h>
@interface Person : NSObject{
    @public
    NSString * _name;
    int _age;
    float _height;
    
    //变量必须写在interface 大括号里面
}

@end
@implementation Person

 

@end
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        Person   *p1=[Person new];
        
        //赋值的一种方法
        (*p1)._name=@"jack";
        
        NSLog(@"p1对象的名字是%@",p1->_name);
        
        
//        p1->_name=@"jack";
//        p1->_age=12;
//        p1->_height=176.5f;
//
//        NSLog(@"p1对象的名字是%@",p1->_name);
       
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值