OC语言01

OC部分
第一部分   基本概念 
OC概述
OC是一种能够完成复杂面向对象编程的简单的计算机设计语言。
通过提供用于定义类和方法的语法它扩展了标准的c语言。它还提供了类和接口(任何类采用)的动态扩展。
面向对象编程
1.  面向对象 和 面向过程
面向对象 OOP( Object Oriented Programming ) 分解问题组成的对象 协调对象间的联系和通信 解决问题.  以对象为中心 也就是参数事件的参与者,设计对象的功能完成事件只是事物所有功能中的一小部分.
面向过程 POP (P rocedure Oriented  Programming)  分析解决问题的步骤 实现函数 依次调用.  事件为中心  关心该事件的详细步骤 一步一步如何完成实现.
类和对象
2.   类  只允许单继承 一个类只允许一个父类 没有父类的类称为根类  NSObject 根类 OC里唯一一个没有父类的类
:一组具有 相同特征和行为的事物的抽象集合 。 是一个抽象的概念,在生活中不具体.  静态属性 特征  动态属性 动作
对象:类中具体的。对象是类的实例。类的具体表现.

类和对象是面向对象的核心。
三大步骤:定义类 ,创建对象,使用对象。

OC中类的定义
面向对象编程中使用对象完成程序
开发中:先定义类 ,在创建对象,然后使用对象。

定义类包含两部分“:接口部分和实现部分。 分开写
1.接口部分:对外声明类的特征和行为 提供外部访问的接口 相当于说明书。 写在 .h文件中 
接口部分标志:@interface  @end
作用: 声明类的实例变量和方法,即特征和方法
包含内容:类名 父类名 实例变量 方法。
(1)以@interface 接口开头  Person 当前类名 :  NSObject  当前类继承的父类
(2)以@end//结束 只有把类的接口定义内容写在开始和结束之间才有效.
(3) People 类名 
(4) : 表示继承 后面表示它有父类 
(5) NSObject 父类名
 
2.实现部分:对内实现行为,相当于功能的实现。 实现部分写在.m文件中
(1)以@implementation开头 以@end结束 实现内容必须写在中间才有效 (2)@implementation后的people是要实现的类(需要指定对哪些类实现)
实现部分标志:@
类和文件
类:@interface...@end 文件 @implemention…@end
文件:.h称为接口文件或者头文件   .m称为实现文件。


默认设置如下:
1.使用类命名文件
2..h文件管理类的接口部分,.m文件管理类的实现部分、
文件和类本质没有关系。为了方便管理实现封装性。
创建对象
创建对象分两步:分配内存空间和初始化
分配内存空间:根据类中声明的 实例变量 为对象分配内存,将所有的实例变量置为默认值0,并返回首地址
初始化:
为对象的实例变量设置初始值。
使用对象
指针存储对象的首地址,代指对象。OC中使用指针代指对象,进行操作。
Person *p =[Person alloc];先执行”=“ 右侧
1.[ person alloc] 返回值是对象的首地址,即对象。
2.p是跟对象同类型的指针变量,存储对象首地址,代指对象。

实例变量操作

- (CGFloat)getValuea:(CGFloat)a b:(CGFloat)b  c:(CGFloat)c;

方法只.h文件中声明  没.m文件中定义实现
解决方法 :在.m文件里实现 或者在.h里删掉
OC中方法调用 采用消息发送机制[receiver  message];
[receiver(接收者  (+) 或者 对象(-))  message(消息)];

NSLog的定义

NSLog定义在NSObjCRuntime.h中,如下所示:

void NSLog(NSString *format, …);
基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是char *这种字符串指针

示例

NSLog可以如下面的方法使用:

NSLog (@"this is a test");
NSLog (@"string is :%@", string);
NSLog (@"x=%d, y=%d", 10, 20);
但是下面的写法是不行的:
int i = 12345;
NSLog( @"%@", i );
原因是, %@需要显示对象,而int i明显不是一个对象,要想正确显示,要写成:
int i = 12345;
NSLog( @"%d", i );

格式

NSLog的格式如下所示:

%@对象
%d, %i整数
%u,%z无符整形
%f浮点/双字
%x, %X 二进制整数
%o八进制整数
%zusize_t
%p指针
%e浮点/双字 (科学计算)
%g浮点/双字
%sC字符
%.*sPascal字符串
%c字符
%Cunichar
%lld64位长整数(long long) 
%llu无符64位长整数
%Lf64位双字 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值