继承-Objective-c重写问题,求指点

问题描述

Objective-c重写问题,求指点

oc中的重写是怎样的呢?
子类继承了父类,然后重写父类的方法,父类里的方法没有被覆盖掉啊

//这是第一个类
 @interface Person : NSObject
 - (void)work;
 @end

 @inplementation Person
 - (void)work
 {
     NSLog(@"工作");
 }

 //这是第二个类
 @interface Student : Person
 @end

 @implementation Student
 - (void)work
 {
NSLog(@"该休息了");
}
@end

//main函数
int main()
{
        Person *p = [[Person alloc] init];
        [p work];//这一行打印出的是父类方法,是“工作”
        Student *s = [[Student alloc] init];
        [s work];//这一行打印出来的就是重写后的方法,是“该休息了”
        [p work]//这一行打印出来还是父类的“工作“啊,没有被覆盖为”该休息了“,
        //我就想问,[s work];这一行运行过后,父类里面的NSLog照样还是“工作”啊,并没有被覆盖为"该休息了'
}

解决方案

子类继承自父类,拥有work方法,重写会覆盖父类的方法,但,这边的覆盖只是针对子类而言,父类并不会被改变。父类可以有很多个子类,子类只能有一个父类。

时间: 2024-10-05 18:51:48

继承-Objective-c重写问题,求指点的相关文章

vc2010-csdn多高手大神,跪求指点:directshow库中的atlbase.h文件是不是有bug啊?

问题描述 csdn多高手大神,跪求指点:directshow库中的atlbase.h文件是不是有bug啊? 用vc2010开发的工程,使用了atlbase.h头文件,但是编译的时候总是提示:"T"标识符未声明! 顺着错误提示,找到是769行:NoAddRefReleaseOnCComPtr* operator->() const { ATLASSERT(p!=NULL); return (_NoAddRefReleaseOnCComPtr*)p; } 这里的T转到声明(转到定义也

不吝赐教啊-C#新手入门方法,求指点

问题描述 C#新手入门方法,求指点 C#入门新手应该从哪方面入门?目前是买了基本书轮番看,但还是理解困难,进展缓慢,求大师指点方法.有一定的嵌入式C编程基础.第一次提问,不知道问题发这可以不, 解决方案 先学习下C#特有,但是C没有的语法. 归纳下如下: 委托.事件 泛型(泛型集合.约束.泛型接口) 索引器 接口 属性 以下关键字: using lock await/async 如果你不懂C++,还需要学习下 类的定义.结构体和值类型.枚举 方法的重载 方法的重写(override virtua

java-好多看不懂...求指点...

问题描述 好多看不懂...求指点... 程序应该没什么问题,可就是编译的时候就出现问题了,问题:内些错误到底怎么看呢?其实我还有很多看不懂...但还是请前辈们先帮我解决这两个问题吧...谢谢大家了啊!package mouse; import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import java.util.*;import javax.swing.*; public class MouseFrameText {

安卓,colordrawable不显示,求指点

问题描述 安卓,colordrawable不显示,求指点 代码 <ImageView android:id="@+id/imageview" android:layout_width="100dp" android:layout_height="100dp" /> imageView=(ImageView)super.findViewById(R.id.imageview); imageView.setBackground(0xff6

c语言,形参是指针的引用,和形参是指针,两者结果不同,求指点

问题描述 c语言,形参是指针的引用,和形参是指针,两者结果不同,求指点 自定义的头文件 typedef struct BiTNode { int data; struct BiTNode *lchild, *rchild; }BiTNode, *BiTree; 如下是使用形参是指针的引用的函数,结果是正确的 #include "BiTree.h" #include "stdlib.h" #include "stdio.h" bool Delete

代码-求指点JS记住密码功能问题

问题描述 求指点JS记住密码功能问题 调试一直出现问题,跪求大神们指点! 谢谢各位! JS代码: function setCookies(expiredays) { var exdata=new Data(); exdata.setDate(exdate.getDate()+expiredays); n_value=document.getElementById("username").value; p_value=document.getElementById("passw

post-OkHttp使用cookie登录后如何提交multipart/form-data,求指点

问题描述 OkHttp使用cookie登录后如何提交multipart/form-data,求指点 之前也失败了,尝试了各种方法,最后选择cookie,但是我在报头里添加了cookie, 然后post一份form-data数据怎么失败了,这是我的代码: 这是使用chrome查看发送的数据,属于request payload: 解决方案 Tomcat 下 JSP(enctype="multipart/form-data") post 提交时中文乱码解决方案

android第三方授权登陆 用推特、facebook怎么实现,求指点。

问题描述 android第三方授权登陆 用推特.facebook怎么实现,求指点. android第三方授权登陆 用推特.facebook怎么实现,求指点. 我们自己的软件课用其他的应用授权登陆,希望有代码,谢谢. 解决方案 这些都有API的,但是国内的话用手机要VPN才能登陆 解决方案二: 你可以看看那 OAuth认证

c++-一道C++经典里例题,求指点求解答啊

问题描述 一道C++经典里例题,求指点求解答啊 解决方案 思路一: 每三个数代表一个三角形, 如果两个三角形索引相连, 必然共用一条边, 也就是说第二个三角形的起点值不会大于第一个三角形的最大值, 由此判断来划分三角形. (此思路赖于输入, 如果题目中的输入你要是输入[0, 1, 2, 3, 2, 0, 4, 5, 6], 那这思路就不对了) typedef unsigned int UINT; const int INDEX_NUM = 3; vector<UINT> indexArr; v