Objective-C

03-面向对象语法02

2020-06-09  本文已影响0人  Andy_Livings

一、定义OC的类和创建OC的对象

1.类的声明

1)代码编写

#import <Foundation/Foundation.h>
// 类的声明
@interface Car : NSObject
{
    @public
    int wheels; // 多少个轮子
    int speed; // 时速
}
- (void)run; // 跑的行为
@end

2)成员变量

3)@public
@public可以让Car对象的wheels和speed属性被外界访问

4)NSObject
加上:NSObject的目的是让Car类具备创建对象的能力

2.类的实现
// 类的实现
@implementation Car
- (void) run
{
    NSLog(@"%i个轮子,%i时速的车子跑起来了", wheels, speed);
}
@end
3.创建对象

1)代码编写

// 主函数
int main()
{
    // 创建车子对象
    Car *c = [Car new];
    c->wheels = 3;
    c->speed = 300;
    
    [c run];
    return 0;
}

2)main函数的代码分析、内存分析(对象在内存中有成员)

Car *c = [Car new];

用一个指针变量c指向内存中的Car对象

c->wheels = 3;
c->speed = 300;
4.创建多个Car对象
Car *c1 = [Car new];
c1->wheels = 4;
Car *c2 = [Car new];
c2->speed = 250;
[c1 run];
Car *c1 = [Car new];
c1->wheels = 4;
c1->speed = 250;
Car *c2 = c1;
c2->wheels = 3;
[c1 run];
5.面向对象封装的好处
6.对象与函数参数

二、类的声明和实现

1.@interface和@implementation的分工
时钟
2.声明和定义多个类
3.常见错误
4.语法细节
5.OC方法和函数的区别
6.OC的方法注意
7.@implementation
@implementation Car : NSObject
{
    @public
    int wheels; // 多少个轮子
    int speed; // 时速
}
- (void) run
{
    NSLog(@"%i个轮子,%i时速的车子跑起来了", wheels, speed);
}
@end

三、方法

设计一个Caculator计算器类,它拥有计算的功能(行为)

1.不带参数的方法
// 方法声明
- (double)pi;
// 方法实现
- (double)pi
{
    return 3.14;
}
方法声明
2.带一个参数的方法
// 方法声明
- (double)square:(double)number;
// 方法实现
- (double)square:(double)number
{
    return number * number;
}
计算平方
3.带多个参数的方法
// 方法声明
- (double)sumOfNum1:(double)num1 andNum2:(double)num2;
// 方法实现
- (double)sumOfNum1:(double)num1 andNum2:(double)num2
{
    return num1 + num2;
}
方法声明
4.方法名注意
5.习题

给Car类设计一个方法,用来和其他车比较车速,如果本车速度快,就返回1,如果本车速度慢,就返回-1,速度相同就返回0

四、匿名对象

[Car  new]->speed = 200;
[ [Car  new]  run];
上一篇 下一篇

猜你喜欢

热点阅读