博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 抽象(2)
阅读量:4310 次
发布时间:2019-06-06

本文共 573 字,大约阅读时间需要 1 分钟。

接着上章说:

先看代码

abstract  class Human    {               public abstract void Think();        public abstract int Age { get; set; }    }    class Iam : Human    {        public override int Age { get ; set ; }        public override void Think()        {                   }    }

如果仔细观察代码,我们会发现在子类中实现父抽象类的方法时,使用的是ovrride关键字,这个和多态中的重写是一个关键字,那么这两个是相同的嘛?

答案是不是的。

在多态中说了,重写是将继承链中重写的方法全部替换。 而抽象的重写则是实现方法。这个先是方法代码是不存在,在子类中实现之后在代替父类。实际上执行的还是子类的实现。

代码实现:

 

new Iam().Think();            var i = new Iam();            (i as Human).Think();

 

转载于:https://www.cnblogs.com/T-ARF/p/9216543.html

你可能感兴趣的文章
使用SQL*PLUS,构建完美excel或html输出
查看>>
SQL Server数据库笔记
查看>>
X-Forwarded-For伪造及防御
查看>>
android系统平台显示驱动开发简要:LCD驱动调试篇『四』
查看>>
Android 高仿微信头像截取 打造不一样的自定义控件
查看>>
Jenkins的初级应用(1)-Publish Over SSH
查看>>
利用正则表达式群发定制邮件
查看>>
【原】RDD专题
查看>>
第三周——构建一个简单的Linux系统MenuOS
查看>>
Docker 的两类存储资源 - 每天5分钟玩转 Docker 容器技术(38)
查看>>
Codeforces 257D
查看>>
常用的20个强大的 Sublime Text 插件
查看>>
ajaxfileupload.js在IE中的支持问题
查看>>
tensorflow学习之(十)使用卷积神经网络(CNN)分类手写数字0-9
查看>>
当document.write里含有script标签时
查看>>
工作中常见问题
查看>>
JAVA 从一个List里删除包含另一个List的数据
查看>>
外国的月亮比较圆吗?外籍团队工作有感
查看>>
CentOS 关闭烦人的屏保
查看>>
分布式系统事务一致性解决方案
查看>>