面向对象中的几个关键词
2011-09-30 11:30
246 查看
继承
在应用程序开发过程中,需要完成功能相近但是实现不同的类来抽象对象的时候,就需要用到继承。
继承优点
提高重用性:派生提高了代码的重用性,不至于在创建一个新对象时再重新写一个新的类。
提高结构性:派生让程序有了结构,在程序开发过程,每一个派生类均继承上一个类的方法,且每个派生类除了可以使用公共的字段以外,可以专门为派生类增加字段和方法而不去影响到其他的派生类
public class Animal //创建基类
{
public string type; //创建基类成员
public string color; //创建基类成员
public string sound; //创建基类成员
}
public class People:Animal //创建派生类
{
public string country; //创建派生类成员
}
注:在子类People中也有type、color、sound这些字段,这就是继承用处之所在。当然也包括方法还有其他…
如果一个类继承了其他的类,那么父类(其他的类)中的构造函数在自己类的构造函数之前执行
如果父类中有多个构造函数那么子类在调用父类构造函数的时候要用到base关键字
Eg:
public People(DateTime time):base(time) //指定构造函数
{
Console.WriteLine("People 被构造"); //编写构造函数
}
那个时间记录的实际上是父类中的,因为父类中的构造函数在子类构造函数之前执行
抽象类(abstract)
public abstract class Animal //创建抽象类
{
public Animal() //创建构造函数
{
Console.WriteLine("Animal 被构造"); //编写构造函数
}
}
用处:就是为了别的类能继承
抽象类不能被实例化
抽象方法
只有抽象类中才有抽象方法
public abstract class Animal //编写类
{
public abstract string Sound(); //创建抽象方法
}
抽象类中值只负责定义这些方法,抽象方法在派生类中必须实现
public class People:Animal //派生自Animal 类
{
public string country;
public override string Sound() //实现抽象方法
{
return "language"; //返回值
}
}
抽象类和普通类进行比较里面多了抽象方法s
密封类(sealed) 密封类是一种永远不能做基类的
public sealed class Animal //创建密封类
{
public Animal() //创建构造函数
{
Console.WriteLine("Animal 被构造"); //编写构造函数
}
}
覆盖
父类中方法名字和派生类中的名字相同时,派生类中的方法就会覆盖父类中的方法
public class Animal //创建基类
{
public string Sound() //基类中的Sound 方法
{
return "miaomiao"; //返回值
}
}
public class People:Animal //创建派生类
{
public string country; //创建私有成员
public string Sound() //覆盖派生类中的Sound 方法
{
return "language"; //返回值
}
}
覆盖是派生类中函数名称和父类函数名称相同,这才出现派生类中的函数覆盖父类中的函数。
重写是派生类中函数对父类中的抽象方法进行重写。
虚方法(virtual) :让派生类能够选择是否实现该方法(父类中的),虚方法出现在抽象类中。
public class Animal //创建类
{
public virtual string Fly() //虚方法,飞行方法
{
return "Most Of The Animal Can Fly"; //返回值
}
}
public class People:Animal //创建派生类
{
public string country; //没有实现虚方法也可以
}
public class Bird : Animal //创建派生类
{
public string FLY() //鸟儿能飞行,实现一个虚方法
{
return "It Can Fly"; //返回值
}
}
当抽象类中有很多方法时,派生类中必须实现父类中的方法,但是派生类中要实现的父类中的方法有的不符合逻辑,那么这时就要在父类中将那些可能出现不符合逻辑的方法定义成虚方法。定义之后派生类中就不需要实现所以父类中的虚方法,只有有需要的才实现父类中的虚方法
重写
委托和事件
委托:是一种引用方法的类型
在应用程序开发过程中,需要完成功能相近但是实现不同的类来抽象对象的时候,就需要用到继承。
继承优点
提高重用性:派生提高了代码的重用性,不至于在创建一个新对象时再重新写一个新的类。
提高结构性:派生让程序有了结构,在程序开发过程,每一个派生类均继承上一个类的方法,且每个派生类除了可以使用公共的字段以外,可以专门为派生类增加字段和方法而不去影响到其他的派生类
public class Animal //创建基类
{
public string type; //创建基类成员
public string color; //创建基类成员
public string sound; //创建基类成员
}
public class People:Animal //创建派生类
{
public string country; //创建派生类成员
}
注:在子类People中也有type、color、sound这些字段,这就是继承用处之所在。当然也包括方法还有其他…
如果一个类继承了其他的类,那么父类(其他的类)中的构造函数在自己类的构造函数之前执行
如果父类中有多个构造函数那么子类在调用父类构造函数的时候要用到base关键字
Eg:
public People(DateTime time):base(time) //指定构造函数
{
Console.WriteLine("People 被构造"); //编写构造函数
}
那个时间记录的实际上是父类中的,因为父类中的构造函数在子类构造函数之前执行
抽象类(abstract)
public abstract class Animal //创建抽象类
{
public Animal() //创建构造函数
{
Console.WriteLine("Animal 被构造"); //编写构造函数
}
}
用处:就是为了别的类能继承
抽象类不能被实例化
抽象方法
只有抽象类中才有抽象方法
public abstract class Animal //编写类
{
public abstract string Sound(); //创建抽象方法
}
抽象类中值只负责定义这些方法,抽象方法在派生类中必须实现
public class People:Animal //派生自Animal 类
{
public string country;
public override string Sound() //实现抽象方法
{
return "language"; //返回值
}
}
抽象类和普通类进行比较里面多了抽象方法s
密封类(sealed) 密封类是一种永远不能做基类的
public sealed class Animal //创建密封类
{
public Animal() //创建构造函数
{
Console.WriteLine("Animal 被构造"); //编写构造函数
}
}
覆盖
父类中方法名字和派生类中的名字相同时,派生类中的方法就会覆盖父类中的方法
public class Animal //创建基类
{
public string Sound() //基类中的Sound 方法
{
return "miaomiao"; //返回值
}
}
public class People:Animal //创建派生类
{
public string country; //创建私有成员
public string Sound() //覆盖派生类中的Sound 方法
{
return "language"; //返回值
}
}
覆盖是派生类中函数名称和父类函数名称相同,这才出现派生类中的函数覆盖父类中的函数。
重写是派生类中函数对父类中的抽象方法进行重写。
虚方法(virtual) :让派生类能够选择是否实现该方法(父类中的),虚方法出现在抽象类中。
public class Animal //创建类
{
public virtual string Fly() //虚方法,飞行方法
{
return "Most Of The Animal Can Fly"; //返回值
}
}
public class People:Animal //创建派生类
{
public string country; //没有实现虚方法也可以
}
public class Bird : Animal //创建派生类
{
public string FLY() //鸟儿能飞行,实现一个虚方法
{
return "It Can Fly"; //返回值
}
}
当抽象类中有很多方法时,派生类中必须实现父类中的方法,但是派生类中要实现的父类中的方法有的不符合逻辑,那么这时就要在父类中将那些可能出现不符合逻辑的方法定义成虚方法。定义之后派生类中就不需要实现所以父类中的虚方法,只有有需要的才实现父类中的虚方法
重写
委托和事件
委托:是一种引用方法的类型
相关文章推荐
- 分享几个原生javascript面向对象设计小游戏
- 面向对象开发的几个核心的思想和概念
- 面向对象设计的几个基本的原则
- 面向对象中的几个概念
- 面向对象程序设计的几个基本概念
- 面向对象设计模式的几个基本原则及其核心思想简介
- 面向对象开发与面向对象设计模式的几个核心的思想和概念 -java
- 面向对象中的特殊的成员修饰符和几个特殊的方法
- java学习日记_20:面向对象之this关键词的概述和。07.08
- 软件体系结构上机实验 面向对象体系结构风格的 KWIC 关键词索引系统设计与实现 java
- 面向对象开发中的几个核心的思想和概念
- java学习日记_34:面向对象之super关键词、this与super的区别和继承中构造方法的关系。08.16~17
- 菜鸟学java ——(一)面向对象程序设计(几个重要的概念)
- 面向对象基本关键词的解释
- 面向对象开发中的几个核心的思想和概念 .
- 面向对象设计的几个基本原则
- 面向对象之关键词(const, static)
- 面向对象中的修饰关键词
- 面向对象程序语言设计中应该注意的几个基本知识点
- 面向对象之继承时的关键词