Objective-C学习笔记(1-8章)


对于float类型的值331.79,通过NSLog打印时,实际显示成了331.790009。这是因为实际显示的值是由具体使用的计算机系统决定的,这种不准确值的原因在于,计算机内部使用了特殊的方式表示数字。

接口文件(.h)和实现文件(.m)

类方法和实例方法

原文地址:https://blog.csdn.net/xu_ya_fei/article/details/50618498

合成存取方法

@synthesize指令:为属性自动声明getter和setter方法
实际上并不需要使用@synthesize指令,使用@property就可以了。编译器会自动生成getter和setter。只是说,如果不使用@synthesize指令的话,编译器生成的实例变量会以下划线(_)字符作为其名称的第一个字符

局部变量

  • 如果是基本的C数据类型,则没有默认值。
  • 如果是对象变量,则默认值为nil。

方法的参数名均为局部变量。如果参数是对象,则可以改变其中的实例变量值。当传递一个对象作为参数时,实际上是传递了一个数据存储位置的引用。

static关键字

作用:使局部变量保留多次调用一个方法 所得的值。静态变量的初始值固定为,所以不需要显示地初始化为0。静态变量只在程序开始执行时初始化一次,并且在多次调用方法时保存这些数值。

数据类型

id类型

id数据类型可存储任何类型的对象。它是多态和动态绑定的基础。

基础数据类型的NSLog字符

在这里插入图片描述

整型值和浮点值的相互转换

只要将浮点值赋给整型变量,数字的小数部分都会被删节。但把整型变量指派给浮点变量的操作不会引起数字值的任何改变,仅由系统转换饼存储到浮点变量中。

整型 和 整型 => 整型(产生的小数部分会被删除)
整型 和 浮点型 => 浮点型

类型转换运算符

类型转换运算符优先级>其他所有算术运算符优先级

继承

类的每个实例对象都拥有自己的实例变量,即使这些变量是继承来的。

覆写方法

不能通过继承删除活减少方法,但可以利用覆写来更改继承方法的定义

@interface ClassA: NSObject
{
	int x;//将由子类继承
}

-(void)initVar;
-(void)printVar;
@end

@implementation ClassA
-(void)initVar
{
	x = 100;
}
-(void)printVar
{
	NSLog(@"x = %i",x);
}
@end
@interface ClassB:ClassA
-(void)initVar;
-(void)printVar;
@end

@implementation ClassB
-(void)initVar
{
	x = 200;
}
-(void)printVar
{
	NSLog(@"x = %i",x);
}
@end
ClassB *b =[[ClassB alloc] init];
[b initVar];
[b printVar];
//输出结果
x = 200

从ClassB中将printVar方法删除,也不会影响输出结果。因为类的每个实例对象都拥有自己的实例变量。对于ClassB的实例对象b,其变量x的值被初始化为200,在调用基类的printVar方法时,仍然是对实例对象b的变量x进行操作,所以输出的值仍是200,而非基类ClassA初始化的100

抽象类

指有些类的创建,只为了更容易地创建子类。在该类中定义实例变量和方法,但并不期望任何人从这个类创建实例。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值