1、多态

答:

(1)虚方法

public class Child : Person
{
public void Speach()
{
base.Speach();
} public virtual void Say()//虚方法
{
}
}

虚方法的定义

(2)抽象方法(必须声明在抽象类中)

public abstract class Animal
{
public abstract void Say();
}

抽象方法的定义

(3)接口

public interface ISay
{
void Say();
}

接口的定义

虚方法和抽象方法的区别

虚方法必须有实现,抽象方法必须没有实现

抽象方法必须在抽象类中声明,虚方法可以出现在抽象类中

抽象方法必须在子类中重写,虚方法可以被重写

(4)重写(虚方法、抽象方法、接口中定义的方法)

public class Bird : Animal
{
public override void Say()
{
throw new NotImplementedException();
}
}

重写

虚方法和抽象方法的区别

虚方法:

1.父类中必须有实现。

2.子类中可以不重写。

3.虚方法可以在普通类中。(虚方法所在的类是可以被实例化的。)

抽象法:

1.父类中不能有任何实现。

2.子类中必须重写(除非:子类也是一个抽象类。)

3.抽象方法必须在抽象类中。

什么时候用虚方法?

1.父类本身需要被实例化

2.这个方法在父类中有实现的必要(有意义)(方法有默认的实现)

什么时候用抽象方法?

1.在当前系统中,父类绝对不会被实例化。Person p=new Person();

2.在父类中不知道如何去实现这个方法(没有默认的实现。)

今天到这,明天重点接口!!!

ASP.Net软件工程师基础(三)的更多相关文章

  1. ASP.Net软件工程师基础(一)

    本人目前是一名有1年左右ASP.Net开发经验的的软件开发工程师,目前公司用的是MVC+EF+...做的网站.写这套总结性系列文章的目的有两个:一是帮助自己总结一下自己到底有多少斤两,而不是一味的学新 ...

  2. ASP.Net软件工程师基础(二)

    1.封装 答:属性封装了字段,通过get和set访问器限制字段对外开放的程度:将重复的代码封装成方法,实现DCR原则(Don't Copy yourself):方法的参数组合可以用类实现,即在方法中不 ...

  3. ASP.Net软件工程师基础(四)

    1.接口 (1)接口是一种规范.协议,定义了一组具有各种功能的方法(属性.索引器本质是方法). (2)接口存在的意义:多态.多态的意义:程序可扩展性. (3)接口解决了类的多继承的问题. (4)接口解 ...

  4. QT软件工程师招聘市场需求报告

    QT软件工程师招聘市场需求报告 目录 最流行的编程语言排行榜 QT软件工程师职位需求 QT软件工程师薪资待遇 QT软件工程师行业需求 QT软件工程师QT技术需求 QT软件工程师基础技术需求 QT软件工 ...

  5. GIS基础软件及操作(三)

    原文 GIS基础软件及操作(三) 练习三.地图配准操作 1.对无坐标信息的地形图(图片格式)进行地图配准操作2.编辑器的使用(点要素.线要素.多边形要素的数字化) 本例主要介绍如何给无坐标信息的地形图 ...

  6. 软件工程师 Book

    一.软件工程师  --Clean Code<代码整洁之道>  --Implementation Patterns<实现模式>  --Code Complete<代码大全& ...

  7. 第二节:Web前端-ASP.NET之C#基础

    第二节:Web前端-ASP.NET之C#基础 学习ASP.NET,要掌握学习语言,控件等技能, <div style="text-align: center; line-height: ...

  8. JavaSE 软件工程师 认证考试试卷3

    JavaSE 软件工程师 认证考试试卷   笔试   考试时间150分钟 总分 100分   姓    名_______________________ 身份证号___________________ ...

  9. Java 初级软件工程师 认证考试试卷1

    Java 初级软件工程师 认证考试试卷   笔试(A卷)   考试时间150分钟 总分 100分     姓    名_______________________ 身份证号_____________ ...

随机推荐

  1. The error occurred while setting parameters 错误解析--Bad value for type timestamp : 3

    错误信息:nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying datab ...

  2. 为什么匿名内部类只能访问其所在方法中的final类型的局部变量?

    大部分时候,类被定义成一个独立的程序单元.在某些情况下,也会把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类,包含内部类的类也被称为外部类. class Outer { priv ...

  3. oracle group by中cube和rollup字句的使用方法及区别

    oracle group by中rollup和cube的区别:  Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句. 如果是ROLLUP(A, B, C)的话,先 ...

  4. Angular学习(6)- 数组双向梆定+filter+directive

    示例: <!DOCTYPE html> <html ng-app="MyApp"> <head> <title>Study 6< ...

  5. 获取网页URL地址及参数等的两种方法(js和C#)

    转:获取网页URL地址及参数等的两种方法(js和C#) 一 js 先看一个示例 用javascript获取url网址信息 <script type="text/javascript&q ...

  6. MIT牛人解说数学体系(转载)

    原文网址:http://www.guokr.com/post/442622/ 在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进. 为什么要深入数学 ...

  7. OAF_EO系列4 - Create详解和实现(案例)

    2014-06-02 Created By BaoXinjian

  8. VMware和CentOS7安装和配置

    准备工作: 下载: 1.VMware-workstation-full-10.0.0-1295980 2.CentOS-7-x86_64-DVD-1511.iso 安装: 1.VMware-works ...

  9. php命名空间学习

    在一个命名空间中,当 PHP 遇到一个非限定的类.函数或常量名称时,它使用不同的优先策略来解析该名称. 1.类名称总是解析到当前命名空间中的名称.因此在访问系统内部或不包含在命名空间中的类名称时,必须 ...

  10. H桥电路

    电路特点:有三极管组成4个桥的腿,中间可以使电容或是电机. 应用:直流电机的正反转控制.DC-AC逆变电源(脉冲直流变为周期交流) 关键点:同一个时刻只能对角的一对三极管导通,同侧不能一块导通,共2对 ...