正在研究c#的多态。发现base关键字。很想知道base 在内存里是怎么工作的
答案:2 悬赏:60 手机版
解决时间 2021-03-20 09:52
- 提问者网友:蓝莓格格巫
- 2021-03-20 02:04
比如:student继承于person,且student重写了(override)person的一个虚函数。为啥base还能调用到父类以前的没有经过重写的方法。难道student实例化的同事,也实例化了person?这个在内存里到底是什么个模式?请高手帮忙解答一下,多谢。
最佳答案
- 五星知识达人网友:罪歌
- 2021-03-20 03:14
调试 自己可以去看看 它的自身代码
全部回答
- 1楼网友:忘川信使
- 2021-03-20 03:45
首先,你要清楚你编程写的是高级语言,而内存执行的是机器代码,有了这个概念,就很容易解答了,内存怎么操作?内存就是一条线,一个命令一个命令的执行,内存根本不知道什么是对象,内存只管执行。对象是人们为了自己便于编程给自己设定的概念。
说的有点乱,简单点:
面向对象的编程是,提前安排好一个一个的房间,不论你用或者不用,软件都会把这些房间准备好,然后给程序派发一些钥匙,那个钥匙就是实例化。
实例化,并不是建造房间,而是通过复制房间,取得一模一样的构造,如果按照你说的实例化是建造房间,那就不是面向对象了。这就是类为什么不能被访问的原因,因为类是禁止访问,而不是不能访问,类也可以直接访问的,比如类里面的公共静态变量。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯