c++ max 的头文件_Objective-C学习笔记(二)

6f9b0999ad20cd976a78b4efe46581d1.png

基于< 《Objective-C编程全解》[日]荻原刚志 著 人民邮电出版社 >的学习笔记。


第一章 面向对象编程

重点概念整理:

  • 对象有属性,并且能够接收消息来进行相应的处理。消息的处理是通过对象的方法完成的。消息是对象之间通信的唯一手段。
  • 具体对象的实现模版即为类。
  • 高独立性的模块(高耦合、低内聚),每个模块之间的交集尽可能小,声明和实现分开。独立性划分原则为对外提供最小限度的接口信息,把模块做成一个黑盒,这个原则叫作信息隐蔽或封装。

第二章 OC程序设计

重点概念整理:

  • id数据类型,此种类型变量可以存放任何数据类型的变量。定义方法如下:
id obj;
  • 向obj发送msg消息的语法如下:[消息表达式语法obj为对象,msg是动作触发消息,该语句可嵌套使用]
[obj msg];//[]为消息表达式修饰符
  • 消息由消息关键字组成,同函数调用相同,消息中也可带参数。变量名和消息名可同名。消息关键字末尾有":",表示这个消息带参数。消息可以为一个变量,也可以为一个消息表达式。消息名又称为消息选择器、选择器或方法。
[obj cricle:3.14];

一个具体的例子:

#include<Foundation/Foundation.h>
@interface value:NSObject{
    int val;
    int min,max,step;
}
-(id)initValue:(int)a max:(int)b step:(int)s;
-(int)value;
-(id)up;
-(id)down;
@end
@implementation value
-(id)initValue:(int)a max:(int)b step:(int)s{
    self=[super init];//super调用基类
    if(self!=nil){
        val=min=a;
        max=b;
        step=s;
    }
    return self;//self返回自身,相当于C++内的this
}
-(int)valu{
    return val;
}
-(id)up{
    if((val=val+step)>max){
        val=max;
    }
    return self;
}
-(id)down{
    if((val=val-step)<min){
        val=min;
    }
    return self;
}
@end
int main(void){
    @autoreleasepool{
        id v;
        v=[[value alloc]initValue:0 max:20 step:2];//初始化
        printf("%dn",[v valu]);//C混合编程
        [[v up]up];//嵌套
        printf("%dn",[v valu]);
    }
    return 1;
}

bad1cf250b37be0dd916c27f8f1160bb.png
程序执行输出
  • 编译:

单文件编译:

% clang voltest.m -framework Foundation

多文件编译:

% clang -c mian.m
% clang -c volume.m
% clang -o vol main.m volume.m -framework Foundation
  • 头文件的引入

在头文件最开始加入宏定义的方法避免头文件被多次编译。如下例所示:

#ifndef __MYLIB_H__
#define __MYLIB_H__
//头文件定义
#endif /*__MYLIB_H__*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值