runxinzhi.com
首页
百度搜索
基本类型接口(一、您了解接口继承吗?)
14
.
1
类和接口继承
14
.
2
定义接口
14
.
3
接口的继承
public
static
class
Program
{
static
void
Main(String[] args)
{
//
-------------------------
Console.WriteLine(
"
---第一个例子---
"
);
BaseClass b
=
new
BaseClass();
b.fun1();
b.fun2();
((Itest)b).fun1();
((Itest)b).fun2();
//
--------------------------
Console.WriteLine(
"
---第二个例子---
"
);
SonOne s1
=
new
SonOne();
s1.fun1();
s1.fun2();
((Itest)s1).fun1();
((Itest)s1).fun2();
//
----------------------------
Console.WriteLine(
"
---第三个例子---
"
);
b
=
new
SonOne();
b.fun1();
b.fun2();
((Itest)b).fun1();
((Itest)b).fun2();
//
----------------------------
Console.WriteLine(
"
---第四个例子---
"
);
SonTwo s2
=
new
SonTwo();
s2.fun1();
s2.fun2();
((Itest)s2).fun1();
((Itest)s2).fun2();
//
----------------------------
Console.WriteLine(
"
---第五个例子---
"
);
b
=
new
SonTwo();
b.fun1();
b.fun2();
((Itest)b).fun1();
((Itest)b).fun2();
//
----------------------------
Console.ReadLine();
}
}
public
interface
Itest
{
void
fun1();
void
fun2();
}
//
1.BaseClass必须实现Itest中的所有方法 fun1,fun2
//
2.应将接口方法标记为virtual,如果不显示标记,编译器会把它标记为virtual和sealed。这样派生类就无法重写接口方法了。
//
派生类可以重新继承同一个接口,并提供自己的实现。
internal
class
BaseClass : Itest
{
//
fun1将被标记为sealed,不能被重写
public
void
fun1()
{
Console.WriteLine(
"
BaseClass.fun1
"
);
}
public
virtual
void
fun2()
{
Console.WriteLine(
"
BaseClass.fun2
"
);
}
}
internal
class
SonOne : BaseClass
{
//
派生类无法重写基类方法fun1
new
public
void
fun1()
{
Console.WriteLine(
"
SonOne.fun1
"
);
}
//
派生类可以重写基类方法fun2
public
override
void
fun2()
{
Console.WriteLine(
"
SonOne.fun2
"
);
}
}
internal
class
SonTwo : BaseClass, Itest
{
//
派生类无法重写基类方法fun1,new表示重新实现Itest的fun1
new
public
void
fun1()
{
Console.WriteLine(
"
SonOne.fun1
"
);
}
//
派生类可以重写基类方法fun2
public
override
void
fun2()
{
Console.WriteLine(
"
SonOne.fun2
"
);
}
}
结果:
作者:
青羽
相关阅读:
mysql学习笔记
MySQL的MySQL 的JDBC的安装与使用
numpy的使用方法
Linux命令
MongoDB数据库
爬虫请求库之selenium
解析库beautifulsoup
Requests属性
正向代理、反向代理
爬虫基本原理
原文地址:https://www.cnblogs.com/tenghoo/p/1205054.html
最新文章
阅读《软件工程—理论方法与实践》第四章心得体会
阅读《软件工程—理论方法与实践》第三章心得体会
阅读《软件工程—理论方法与实践》第二章心得体会
阅读《软件工程—理论方法与实践》第一章心得体会
Socket编程
阶段小结
多线程案例与同步
多线程
java高级====》IO流
java单例模式
热门文章
日期
string常用方法
基本数据类型的包装类和随机数
JAVA枚举
Eclipse中撤销过头了怎么用快捷方式改回来
Can not issue data manipulation statements with executeQuery().解决的方法
学习java线程学习笔记
学习jdbc学习笔记
java编写双色球源代码。-----系统作为彩票双色球生成器,模拟机选一注双色球的彩票号码
java学习笔记随记
Copyright © 2020-2023
润新知