脚本入门(继承 多态 索引器)
2014-12-06 15:59
99 查看
欢迎来到U3D社区:
首先讲了继承里边的方法隐藏:
定义:
如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,自动调用子类的同名方法。
方法隐藏中用到的关键字:
virtual 用在基类中,指定一个虚方法(属性),表示这个方法(属性)可以重写。
override 用在派生类中,表示对基类虚方法(属性)的重写。
class Test
{
public virtual void Print()
{
Console.WriteLine("我是基类的Print虚方法");
}
}
class Test2 : Test
{
public override void Print()
{
Console.WriteLine("我是子类重写了的Print方法");
//使用base关键可以在子类中访问基类同名的方法,
//base.Print();
}
public sealed override void Show()
{
Console.WriteLine("我是阻止派生类重写的Show方法");
}
}
代码运行的结果是:我是子类重写了的Print方法
父类的引用指向子类的实例:
Test ts = new Test2();
ts.Print();
Console.Read();
总结:
virtual关键字和override关键字是成对出现的,否则是语法错误。
派生类可以通过将重写声明为 sealed 来停止虚拟继承。这需要在类成员声明中的 override 关键字前面放置 sealed 关键字。
在子类中重写基类中的虚方法时,可以使用base关键字调用基类中的虚方法。
多态:
c#继承与c#多态的区别:
c#继承:子类使用父类的方法。
C#多态:父类使用子类的方法。
定义:
通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态。
例:
Graph g;
g= new Circular();
g.getSides(); //父类使用子类的方法
g = new Square();
g.getSides(); //父类使用子类的方法
Console.ReadKey();
索引器:
索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取,使程序看起来更为直观,更容易编写。
格式:
[修饰符] 数据类型 this[索引类型 index]
{
get{//获得属性的代码}
set{ //设置属性的代码}
}
更多精彩在http://unity.gopedu.com/forum.php
首先讲了继承里边的方法隐藏:
定义:
如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,自动调用子类的同名方法。
方法隐藏中用到的关键字:
virtual 用在基类中,指定一个虚方法(属性),表示这个方法(属性)可以重写。
override 用在派生类中,表示对基类虚方法(属性)的重写。
class Test
{
public virtual void Print()
{
Console.WriteLine("我是基类的Print虚方法");
}
}
class Test2 : Test
{
public override void Print()
{
Console.WriteLine("我是子类重写了的Print方法");
//使用base关键可以在子类中访问基类同名的方法,
//base.Print();
}
public sealed override void Show()
{
Console.WriteLine("我是阻止派生类重写的Show方法");
}
}
代码运行的结果是:我是子类重写了的Print方法
父类的引用指向子类的实例:
Test ts = new Test2();
ts.Print();
Console.Read();
总结:
virtual关键字和override关键字是成对出现的,否则是语法错误。
派生类可以通过将重写声明为 sealed 来停止虚拟继承。这需要在类成员声明中的 override 关键字前面放置 sealed 关键字。
在子类中重写基类中的虚方法时,可以使用base关键字调用基类中的虚方法。
多态:
c#继承与c#多态的区别:
c#继承:子类使用父类的方法。
C#多态:父类使用子类的方法。
定义:
通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态。
例:
Graph g;
g= new Circular();
g.getSides(); //父类使用子类的方法
g = new Square();
g.getSides(); //父类使用子类的方法
Console.ReadKey();
索引器:
索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取,使程序看起来更为直观,更容易编写。
格式:
[修饰符] 数据类型 this[索引类型 index]
{
get{//获得属性的代码}
set{ //设置属性的代码}
}
更多精彩在http://unity.gopedu.com/forum.php
相关文章推荐
- 脚本入门(封装.继承。)
- C#入门分享(六)——封装、继承与多态
- C#面向对象(OOP)入门—第二天—多态和继承(继承)
- java入门学习(6)—封装,继承,多态,this,super,初始代码块
- Nhibernate+SQLite 入门实例指南二 类的继承、多态关系
- Java基础入门-继承,多态,抽象类...
- Java入门第10章接口继承与多态
- Objective-C入门11:类的三大特性(封装,继承,多态)
- OC从入门到精通-2.三大特性(封装,继承,多态)
- Java 入门 之 面向对象 封装、继承与多态(二)
- C#面向对象(OOP)入门—第一天—多态和继承(方法重载)
- java 入门学习笔记(封装,继承,多态)
- 【Unity】常用脚本类的继承关系(入门篇)
- Java 入门 之 面向对象 封装、继承与多态(一)
- C#面向对象(OOP)入门—第二天—多态和继承(继承)
- 【JAVA零基础入门系列】Day13 Java类的继承与多态
- PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
- Java入门习题(四)——接口、继承和多态
- C++入门学习笔记(四)--继承与多态
- C++快速入门 (十三) 继承和多态