大胖的部落格
Just a note
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
112 随笔 :: 0 文章 :: 3 评论 :: 0 Trackbacks
<
2009年6月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
Algorithm(13)
(rss)
C#(13)
(rss)
C++(22)
(rss)
Design Pattern(23)
(rss)
Others(14)
(rss)
STL(9)
(rss)
Technical(2)
(rss)
UML(2)
(rss)
Win32(18)
(rss)
Reference
Windows XP command line
最新评论
1. re: 在TCL命令行中调用C函数
@Kenny
实在不好意思,时间太过久远,本人已好久没有接触TCL……
--大胖
2. re: 在TCL命令行中调用C函数
請問如何溝通array 變數
Q:1
tcl array in C
Q:2
C array in tcl
懇求指導
--Kenny
3. re: 在TCL命令行中调用C函数
谢谢!
--1232
继承
派生类只能从一个基类继承,不能有多个基类。
当派生类重新定义基类函数时,使用new关键字来hide基类中的非虚函数,使用override关键字override基类中的虚函数。
using
System;
class
TestCS
{
class
Base
{
public
void
NonVirtualFun()
{
Console.WriteLine(
"
Base.NonVirtualFun
"
);
}
virtual
public
void
VirtualFun()
{
Console.WriteLine(
"
Base.VirtualFun
"
);
}
}
class
Derived: Base
{
//
使用new关键字,hide
new
public
void
NonVirtualFun()
{
Console.WriteLine(
"
Derived.NonVirtualFun
"
);
}
//
使用override关键字,override
override
public
void
VirtualFun()
{
Console.WriteLine(
"
Derived.VirtualFun
"
);
//
使用base关键字来引用父类成员
base
.VirtualFun();
}
}
static
void
Main()
{
Base d
=
new
Derived();
d.NonVirtualFun();
//
base.NonVirtualFun
d.VirtualFun();
//
Derived.VirtualFun
}
}
C#中没有纯虚函数,抽象类前用abstract关键字声明。
抽象方法前也用abstract关键字声明,不能提供实现,非abstract派生类必须实现继承而来的abstract方法,派生类中该方法必须用override关键字。
abstract类不能用new实例化。
using
System;
class
TestCS
{
//
抽象类用abstract关键字声明
abstract
class
A
{
//
抽象方法用abstract关键字声明,不能提供实现,派生类必须override
abstract
public
void
AbFun();
public
void
NonAbFun()
{
Console.WriteLine(
"
NonAbFun
"
);
}
}
class
B: A
{
//
必须使用override关键字来override基类的abstract方法
override
public
void
AbFun()
{
Console.WriteLine(
"
AbFun
"
);
}
}
static
void
Main()
{
A b
=
new
B();
b.AbFun();
b.NonAbFun();
}
}
用sealed关键字修饰密封类,密封类不能被继承。
用sealed关键字修饰密封方法,密封方法必须是override方法。
using
System;
class
TestCS
{
//
密封类用sealed关键字声明
sealed
class
A
{
}
//
error密封类不能被继承
class
B: A
{
}
class
C
{
//
virtual in Base
virtual
public
void
Fun()
{ }
}
class
D : C
{
//
sealed只能用来修饰override的方法
sealed
override
public
void
Fun()
{ }
}
class
E
:
D
{
//error,密封方法不能被override
//override public void Fun() { }
//OK, 密封方法可以被new
new
public
void
Fun() { }
}
static
void
Main()
{
}
}
posted on 2009-06-15 08:48
大胖
阅读(141)
评论(0)
编辑
收藏
引用
所属分类:
C#
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
函数
接口
继承
索引指示器
event
属性
C#关键字
操作符和表达式
类型转换
变量
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 大胖