突破Objective-C开发速学手册之深入面向对象的编程.ppt

突破Objective-C开发速学手册之深入面向对象的编程.ppt

ID:49211244

大小:814.48 KB

页数:34页

时间:2020-02-01

突破Objective-C开发速学手册之深入面向对象的编程.ppt_第1页
突破Objective-C开发速学手册之深入面向对象的编程.ppt_第2页
突破Objective-C开发速学手册之深入面向对象的编程.ppt_第3页
突破Objective-C开发速学手册之深入面向对象的编程.ppt_第4页
突破Objective-C开发速学手册之深入面向对象的编程.ppt_第5页
资源描述:

《突破Objective-C开发速学手册之深入面向对象的编程.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章深入面向对象的编程面向对象的特点有三个:封装、继承、和多态。封装主要体现在类中我们在上一章中已经讲过类的相关知识了。本章我们将继续为大家讲解面向对象的另外两个特点继承和封装。希望大家能够熟练掌握面向对象的编程。7.1继承在Objective-C中,一个新类的定义往往都基于另一个类。而这个新类就继承了原来类的所有功能。被继承的类称为父类。继承的类称为子类。通常Objective-C支持单继承和多层继承,不支持多重继承。使用单继承使Objective-C的关系更简单。7.1.1继承的的实现继承的形式

2、。7.1.1继承的的实现7.1.1继承的的实现7.1.1继承的的实现7.1.2实例变量的继承在父类中声明的实例变量可以在子类中使用,在子类中就不需要在对该变量进行声明。子类继承了父类的实例变量变成了自己类中的实例变量。子类不仅可以继承父类的实例变量,还可以拥有自己特有的实例变量。7.1.3方法的继承方法也可以被继承,父类中定义的方法在子类中也可以直接被访问,不需要在子类中重新定义。这一可以使代码量减少。子类不仅可以继承父类的方法,还以有自己独特的方法。7.2访问限定符在声明实例变量的时候,Object

3、ive-C提供了访问限定符对实例变量的作用域进行控制。因此我们可以正确的控制实例变量的使用范围。Objective-C提供的访问限定符有三种分别为@public、@protected、@private。本节将主要讲解这三种访问限定符。7.2.1@public用@public修饰符的实例变量的作用域是不受限制的。这意味着被修饰的实例变量不仅可以在所属的类和子类中都可以被直接访问,而且还可以被其他类定义的方法直接访问。由于它对面向对象有影响,所以不建议使用。@public修饰的数据成员称为共用的数据成员。

4、@public修饰实例变量是在实例变量前面再行修饰。7.2.1@public7.2.2@protected用@protected修饰的实例变量,只可以在所属的类及其任何子类定义的方法中被直接访问。用@protected修饰数据成员也称保护数据成员。7.2.3@private用@private修饰的实例变量,只可以在所属类的方法中调用,不能被子类中定义的方法调用。被@private修饰的数据成员可称为私有数据成员。7.2.4访问限定符的区别我们以讲过访问限定符了,以下我们来看他们的区别。1.相同之处@p

5、ublic、@protected、@private这三个访问限定符都是数据成员的修饰符。它们都要写在被修饰数据成员的前面。2.不同之处@public、@protected、@private这三个访问限定符的不同之处主要是被修饰数据成员的访问范围不同。7.3方法重写在Objective-C中,子类可以继承父类的方法,而不需要重新编写方法。但是在有的时候子类可能定不想全部继承父类的方法,而是想作一些修改,这就需要在原有方法的基础上对方法进行重写。方法重写也叫方法覆盖。7.3.1方法重写的形式方法重写就是看

6、在***.m文件中的方法。7.3.2super当父类和子类中的方法完全一样的时候,就会出现将父类中的方法覆盖。如果想要要看要父类的方法,就要使用supper。supper关键字代表父类,使用它可以访问被子类所隐藏或者重写的方法。7.4方法重载方法重载是在类中可以创建多个具有相同名字的方法,在这些同名的方法中,应该有不同的参数和不同的定义。在调用的时候可以通过传递的参数格式和参数的数据类型来决定具体使用的是什么方法。重载不是子类对父类同名方法的重新定义,而是类对自身已有的同名方法的重新定义。7.5多层继

7、承我们知道在Objective-C中是支撑单继承的,但是单继承并非只是一个父类只能被一个子类所继承。还可以是一个父类可以被多个子类所继承。7.5多层继承7.5多层继承7.5多层继承7.5多层继承7.6多态多态是面向对象编程的另一个重要的特点。简单来说,所谓多态意指相同的消息给予不同的对象会引发不同的动作。例如,我默认定义了一个动物类,而由动物这个类继承出鸡和狗这两个子类。它们对其父类即动物传达的消息有不同的响应,类父类有叫这一动作,而鸡和狗的叫声是不一样的,则称之为多态。7.6.1多态的形式在Obje

8、ctive-C的面向对象中,多态的表现形式很多,如图7.27所示。7.6.2方法的重写实现多态我们已在7.4节中讲过方法的重写了。7.6.3方法的重载实现多态方法的重载是在类中创建多个相同的方法,但是参数个数或返回值不能相同。我们已在7.4节中讲过了。以下是方法重载实现多态的。7.7动态类型和动态绑定动态类型和动态绑定在面向对象程序设计中应用广泛。这节将主要讲解动态类型和动态绑定的相关知识。7.7.1动态类型id在Objective-C中,id类型是一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。