ASP.Net软件工程师基础(四)
1、接口
(1)接口是一种规范、协议,定义了一组具有各种功能的方法(属性、索引器本质是方法)。
(2)接口存在的意义:多态。多态的意义:程序可扩展性。
(3)接口解决了类的多继承的问题。
(4)接口解决了类继承以后体积庞大的问题。
(5)接口与接口之间可以继承,并且可以多继承。
(7)接口中的成员不能有访问修饰符,默认Public。(可以用反编译工具查看)
(8)接口中可以有属性、方法、索引器等,但不能有字段。
(9)实现接口的子类必须实现该接口的全部成员,如果不想实现接口中的成员,可以把该成员实现为abstract。
(10)当一个类同时继承了一个类和一个接口,类写在接口前面。
//(6)接口中的成员必须不能有实现,接口不能实例化。
public interface IFly
{
void Fly();
} public interface ISwim
{
void Swim();
} //潜水,会潜水的一定会有用
//(5)接口之间可以实现多继承。
public interface IDiving : ISwim
{
void Diving();
} public class Animal
{
private string _name; public string Name
{
get { return _name; }
set { _name = value; }
} public void Say()
{
Console.WriteLine("I am " + this.Name + "!");
}
} //(10)当一个类同时继承了一个类和一个接口,类写在接口前面。
//(3)接口解决了类的多继承的问题。
//(4)接口解决了类继承以后体积庞大的问题。尽量每个接口只有一个功能
public class Swan : Animal, IFly, ISwim
{
public void Fly()
{
Console.WriteLine("I can fly!");
} public void Swim()
{
Console.WriteLine("I can swim!");
}
} //(9)实现接口的子类必须实现该接口的全部成员,如果不想实现接口中的成员,可以把该成员实现为abstract。
public abstract class Amphibians : Animal, IFly, ISwim
{
public abstract void Fly(); public abstract void Swim();
} public class WildDuck : Amphibians
{
public override void Fly()
{
Console.WriteLine("I can fly!");
} public override void Swim()
{
Console.WriteLine("I can swim!");
}
}
接口代码演示
ASP.Net软件工程师基础(四)的更多相关文章
- ASP.Net软件工程师基础(一)
本人目前是一名有1年左右ASP.Net开发经验的的软件开发工程师,目前公司用的是MVC+EF+...做的网站.写这套总结性系列文章的目的有两个:一是帮助自己总结一下自己到底有多少斤两,而不是一味的学新 ...
- ASP.Net软件工程师基础(二)
1.封装 答:属性封装了字段,通过get和set访问器限制字段对外开放的程度:将重复的代码封装成方法,实现DCR原则(Don't Copy yourself):方法的参数组合可以用类实现,即在方法中不 ...
- ASP.Net软件工程师基础(三)
1.多态 答: (1)虚方法 public class Child : Person { public void Speach() { base.Speach(); } public virtual ...
- QT软件工程师招聘市场需求报告
QT软件工程师招聘市场需求报告 目录 最流行的编程语言排行榜 QT软件工程师职位需求 QT软件工程师薪资待遇 QT软件工程师行业需求 QT软件工程师QT技术需求 QT软件工程师基础技术需求 QT软件工 ...
- GIS基础软件及操作(四)
原文 GIS基础软件及操作(四) 练习四.空间数据处理 1.空间数据处理(融合.合并.剪切.交叉.合并)2.设置地图投影及投影变换 空间数据处理 数据:云南县界.shp; Clip.shp西双版纳森林 ...
- ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器
一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据 ...
- 软件工程师 Book
一.软件工程师 --Clean Code<代码整洁之道> --Implementation Patterns<实现模式> --Code Complete<代码大全& ...
- 关于Java 软件工程师应该知道或掌握的技术栈
鄙人星云,今天突然想写这么一篇需要持续更新的文章,主要目的用于总结当前最流行的技术和工具,方便自己也方便他人. 更新时间:2018-10-23 09:26:19 码农职业路径图 码农入门职业路径图 J ...
- JavaSE 软件工程师 认证考试试卷3
JavaSE 软件工程师 认证考试试卷 笔试 考试时间150分钟 总分 100分 姓 名_______________________ 身份证号___________________ ...
随机推荐
- linux Shell的使用
linux Shell的使用 下面是我对shell脚本使用的学习,写成日志,做个笔记,可以当做自己以后的复习. 1.输出hello world! vi test1.sh, 如果不会vi工具的使用,请参 ...
- WPF 数据绑定
1.1绑定到对象 1.1.1.前台绑定 前台代码 5: </Grid> 1: <Grid x:Name=”GridProductDetails”> 2: 3: <Te ...
- MATLAB绘 透视图
MATLAB绘图随记(1)--如何画一个透明平面 http://blog.sina.com.cn/s/blog_5cd4cccf0100q90p.html 小老板让我绘个图 找了些资料 最后发现mat ...
- vs2012 遇到 “此操作要求使用 IIS 集成管线模式。”
这个项目是VS2013开发的,我用2012打开想调试,但报这个错误. 最后安装2013,然后调试则正常.
- bzoj3545: [ONTAK2010]Peaks
Description 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询 ...
- transport tablespace将一个表空间下的数据移到另一个表空间
http://blog.csdn.net/macliukaijie/article/details/8308643 1.创建两个表空间 SQL> create tablespace test1 ...
- 【转】c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
准备工作就是可以分页的DataGridView,和两个按钮,一个用来导出当前页数据到Excel,一个用来导出全部数据到Excel 没有使用SaveFileDialog,但却可以弹出保存对话框来 先做导 ...
- TSP(旅行者问题)——动态规划详解(转)
1.问题定义 TSP问题(旅行商问题)是指旅行家要旅行n个城市,要求各个城市经历且仅经历一次然后回到出发城市,并要求所走的路程最短. 假设现在有四个城市,0,1,2,3,他们之间的代价如图一,可以存成 ...
- C#(二维数组/集合)
一.二维数组int [,] array = new int[5,3];//有五个一维数组,每一个一维数组有3个元素 /打印出来一个“王”这个字string[,] wang = new string[, ...
- 转-android 支付宝SDK集成
http://blog.csdn.net/kroclin/article/details/40746779 一.前言 最近做的项目刚好要集成支付宝,上网找了很多资料,介绍得感觉不是很全面,所以我经过这 ...