第一周作业(极客班)

objective-c 

编译: clang - fobjc-arc HelloWord.m -o helloword 

对象的空间分析

对象:栈上存储指针(引用),堆上的存储真正的对象。

值:实例(值)内存直接储存于栈空间

创建对象:

RPoint*rp1=[[rpoint alloc]init]  创建了对象

rp1.x=0 访问了属性

[rp1 print]  发送了消息

1.数据成员:

@interface Employee :NSobject   定义方式

@property NSString * firstName; (属性)

编译器为属性生成三个东西  setter getter  实例方法

类外不可以访问实例变量,只能访问属性

在类外一律使用属性来访问,类内大多数也通过self使用属性,也可以下划线访问,只有以下情况使用实例变量来访问: 初始化器  析构器 自定义访问器方法

认识方法

成员函数 (objc 方法)

—(Bool)is EqualToPoint :(BLNPoint *)point;

减号是实例方法  加号是类方法

方法是累的成员函数,表达实例行为或类型行为;

动态消息分发:方法调用通过运行时动态消息分发实现,在对象上调用方法又称为“像对象发送消息”

方法参数

如果参数类型为值类型。则为传值方式,如果参数类型为引用类型。则为传指针方式。

初始化器

1,对象初始化器 -(id)init 可以重载多个

2,类型初始化器 +(void)initialize 只能有一个

析构器:用于释放对象拥有的资源,无返回值得函数

对象初始化器

初始化对象实例时 init 通常和alloc 搭配使用

类初始化器

+(void) initialize

 {   if (self= = 【Book class】)

}

Book*b1 = [[Book alloc ]init];

=》book*b2=[Book new];   new相当于调用 alloc/init 的无参数版本

 在对每个类使用之前被系统自动调用,且每个进程周期中只被调用一次

继承

每一个类智能有一个基类,子类自动继承基类的1,实例变量 2,属性 3,实例方法 4 类方法

is a 

成员复用 子类复用基类成员

类型抽象:讲子类当做父类来使用

多态 

在子类的代码中,可以使用super来调用基类的实现

1,self 具有动态性 可以指向不同子类

2,super没有多态性,仅指向当前父类

***在父类里面调用了一个方法,从A方法中调用B,B在子类被override,用子类调用A方法时,因为B被override了,所以会调用B方法 

调用实际类型,不调用声明类型

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,891评论 18 139
  • 第一天视频课程: Objective-C 语言简介 Objective-C 语言是一门在C语言基础上做了面向对象扩...
    Hysoka阅读 555评论 0 0
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,135评论 6 13
  • 官方文档 初始化 Initialization是为准备使用类,结构体或者枚举实例的一个过程。这个过程涉及了在实例里...
    hrscy阅读 1,148评论 0 1
  • 李雪莲说:我不是潘金莲。 一如李雪莲的偏执和坚持,我们总在对抗这个世界所给予的标签:某名校、某品牌、某专业等等。 ...
    鲸鱼先生T阅读 1,217评论 0 0