OC 类与对象 --set get

创建一个 Car 类。
Car.h

#import

@interface Car : NSObject
{
 /*
        属性:对于类是一个全局变量

                  描述对象特征的一些类型的变量
                  作用:保存类可能会用到的数据
  */
  NSString *_color;
  float _fuel;
  NSInteger _numberOfWheel;
  BOOL _isAuto;
}
/*______________________________________________________________________*/
//使用方法为属性赋值和取值

//设置器 set
- (void)setColor:(NSString *)color;

/*_____________________________________________________________________*/
//访问器 get
- (NSString *)color;
//一个存,一个取;一个写,一个看。
/*_______________________________________________________________________*/
//多个属性
- (void)setFuel:(float)fuel andNumberOfWheel:(NSInteger)number isAuto:(BOOL)isAuto;
/*_______________________________________________________________________*/
//打印车辆信息
- (void)showCarDatail;
//⬆️设置属性
/*________________________________________________________________________*/
//⬇️声明方法
//类方法  方法名 -> runTheCarByName:   名 包括后面的冒号
+ (void)runTheCarByName:(NSString *)name;

//实例方法
- (void)openTheLight;//开灯

@end

Car.m

#import"Car.h"
@implementation Car

//setter
- (void)setColor:(NSString *)color
{
  _color = color;
}
/*____________________________________________________________*/

//getter
- (NSString *)color
{
    return _color;
}
/*____________________________________________________________*/


//多个
- (void)setFuel:(float)fuel andNuberOfWheel:(NSInteger)number isAuto:(BOOL)isAuto
{
    _fuel = fuel;
    _numberOfWheel = number;
    _isAuto = isAuto;
}
/*______________________________________________________________*/

//打印车辆信息
- (void)showCarDetail
{
    NSLog(@"车辆信息 -> 颜色:%@ 油耗:%f 轮数:%ld 自动否:%@",_color,_fuel,_numberOfWheel,_isAuto?@"自动":@"手动");
}

/*_________________________________________________________________*/
+ (void)runTheCarByName:(NSString *)name
{
    NSLog(@"车辆被%@启动了!",name);
}

- (void)openTheLight
{
    NSLog(@"打开[%@]的车灯",_color);
}
@end


main.m

#import
#import"Car.h"

int main(int argc,const char *argv[])
{
  @autoreleasepool
  {
      char *chars = malloc(sizeof(char));
      //1.使用类型名[Car]调用 Car 类的类方法 runTheCarByName:
            //调用类方法  [类名 类方法名];

      [Car runTheCarByName:@"小明"];

      //2.使用实例对象[Car] 调用Car类的实例方法 openTheLight
/*______________________________________________________________________*/
            //开辟内存在堆区 -> 初始化数据  - (instancetype:任意对象类型的返回值)init
            //栈区(有程序员管理):基本数据类型  结构体  指针变量(8字节)
            //堆区(不可管理):空间大  运行速度慢  存放对象
            //常量区:常量
/*_______________________________________________________________________*/
    Car *car_1 = [[Car alloc]init];
    NSLog(@"%@",car_1);
    [car_1 showCarDetail];

    //调用set 方法 -> 给属性赋值
    [car_1 setColor:@"白色"];

    //调用get方法 -> 获取属性值
    NSLog(@"color of car:%@",[car_1 color]);

    [car_1 setFuel:2.5 andNuberOfWheel:4 isAuto:YES];
    [car_1 showCarDetail];

                    //调用实例方法  :  [对象  实例方法名]
    [car_1 openTheLight];
  }
  return 0;
}

你可能感兴趣的:(OC 类与对象 --set get)