IOS--OC--Lesson 类 和对象

一 OC
1.OC 与 C 的区别:
1⃣OC 是 C 语言的超集, OC 是在 C 语言的技术上结合smalltalk的优点 ,开发出来语言, OC 兼容所有的 C 语言的语法.
2⃣OC 扩展了 面向对象的思想
3⃣.运行时特性
4⃣.有丰富的类库
2. 面对象编程

OOP(Objective Oriented Programming)
  1. 带*都是对象类型用 NSString
    浮点的就是 CGF 整型数字就是 NSInteger
    4.OC的三大特性:封装,继承,多态
    核心:类和对象
    // 类:具有相同特征和行为的事物的抽象
    // 对象:类的具体化,实实在在的东西,能摸得到看得到事物
    // 类和对象的关系:类是对象的类型,对象是类的实例;

4.类在 OC 中得实现:
1⃣类是创建出来的(相当于一种新的数据类型);
通过cocoa touch class 模板创建,会生产一对.h .m 文件;
2⃣.h 文件中写的是类的声明,包括类的特征和行为的声明(方法的声明);
3⃣.m 文件中写的是行为的实现(C 语言中叫函数,在 OC 里叫方法的实现);
4⃣ 行为的声明
//-(减号)是 OC 中对象方法的标志;
//+(加号)是 OC 中类方法的标志;
二 创建
1. 开辟内存空间
2.初始化: 用 alloc 申请内存 []中括号的作用是调用方法 调用的 alloc 的方法
PS: 创建奥迪对象 P
Audi *p = [[Audi alloc]init];
// 是实例变量赋值

     p->_type = @"A6";
     p->_price = 300000;
     p->_color = @"black";
     NSLog(@"型号:%@ 价格:%.2f 颜色:%@", p->_type,p->_price,p->_color);
     [p run];
     打印的结果就不写了
//     一个类可以创造很多对象
     Audi *au=[[Audi alloc]init];
    au ->_type = @"A6";
    au ->_price = 300000;
    au ->_color = @"black";
    NSLog(@"型号:%@ 价格:%.2f 颜色:%@", au->_type,au->_price,au->_color);
    [au stop];

    Audi *au2= [[Audi alloc]init];
     NSLog(@"型号:%@ 价格:%.2f 颜色:%@", au2->_type,au2->_price,au2->_color);

三 .H 文件
1..h 文件中写的是类的声明,包括类的特征和行为的声明(方法的声明);

ps: {
//    特征
   @public
    NSString *_type;
    CGFloat _price;
    NSString *_color ;
}
//行为
- (void) call;
- (void) message;
- (void) playgame;
注意: //一对. h .m 文件中可以放多个类

//.h 只能放类的声明 .m 文件中可以同时放类的声明和实现
2. 调用自己 用 -(id)init{}

PS: -(id)init{
    _type = @"奥迪 A10";
    _price = 500000;
    _color = @"金色";
   return self;// 谁调用 就返回他自己
}

3.有参数的

PS - (void)say:
(NSString *)something{
字符串类型用%@  占位符
    NSLog(@"%@",something);
}
  1. NSLog 与printf 的区别
    1⃣NSLog打印时自动换行 不加\ n ;
    2⃣NSLog 能打印 OC 中得对象 printf不行;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值