A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 久伴 中级黑马   /  2016-2-19 10:18  /  1363 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


选择题: 单选或多选
1.self的用法描述正确的是:(B,C)--10分
A.self只能表示对象              B.self能调用属性也能调用方法
C.self即可以表示类,也可以表示对象 D.self能在类方法中调用对象方法.

2.继承描述正确的是:(B,C)--10分
A.一个类可以同时单级继承多个类     B.A类继承了B类,则表示A类的含有B类的里所有的方法和属性
C.子类可以再定义与父类同名的方法(重写)   D.子类可以再定义与父类相同的属性.

简答题:
什么叫继承?它的体现是什么?-5分
    继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
    车类能派生出轿车和卡车,并且还能给自己赋予新的属性跟行为
一个类继承一个类,我们说说这个类拥有了什么?--5分
    这个类拥有父类的所有属性与行为
类可以多继承吗?---5分
    不可以,oc支持单继承
super与self可以在类外部使用吗 ?这二者用法上有什么区别?--5分.
    可以
> 在动态方法中,self代表着"对象"
> 在静态方法中,self代表着"类"
> 万变不离其宗,记住一句话就行了:self代表着当前方法的调用者
self 和 super 是oc 提供的 两个保留字。 但有根本区别,
self是类的隐藏的参数变量,指向当前调用方法的对象(类也是对象,类对象),另一个隐藏参数是_cmd,代表当前类方法的selector。
super并不是隐藏的参数,它只是一个"编译器指示符"

组合与依赖分别是什么?  5
组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此 时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。
简单的理解,依赖就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。比如某人要过河,需 要借用一条船,此时人与船之间的关系就是依赖。表现在代码层面,为类B作为参数被类A在某个method方法中使用。
为什么说一个类如果不继承NSObject就不具有创建对象的能力?  5
    NSObject是所有类的基类,它的底层存在着创建对象的方法,如果一个类没有去继承他,那么这个类如何创建对象
多态时,父类的指针能不能直接访问子类独有的方法? 如果不能要怎样?  5
    不可以,需要对类型进行强制转换
编程题:
1.定义一个猫类,定义一个狗类.二者都有腿,眼睛的属性.都有吃和跑的方法.--15分
2.猫有爬树的独有方法.狗有看门和咬人的独有方法.--15分
3.猫爬树时边吃东西.狗看门时如果有坏人就咬人.--20分
4.把这题用Xcode项目形式实现.
5.猫吃东西用多态实现.
6.狗看到主人回来后,跑出去.-用多态.
注意: 这题至少写两遍.
OC只有重写这一说法.没有重载!!!!!
从控制台任意输入一个字符串,请倒序打印出来.

1 个回复

倒序浏览
可以哦,不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马