using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace 虚方法
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person p1 = new Person("yuwei",23,"男","技术部");
p1.StrAge = 18;
Response.Write(p1.sayhello());
Response.Write("<br>");
yuwei p2 = new yuwei("zhangsan", 25, "女", "销售部", 172.5f);
Response.Write(p2.sayhello());
Response.Write("<br>");
}
}
#region //人类
class Person //声明一个类:人类
{
private string strName; //私有字段、封装
private int strAge;
private string strSex;
private string strDept;
public string StrName //属性
{
get
{
return strName;
}
set
{
strName = value;
}
}
public int StrAge
{
get
{
return StrAge;
}
set
{
strAge = value;
}
}
public string StrSex
{
get
{
return strSex;
}
set
{
strSex = value;
}
}
public string StrDept
{
get
{
return strDept;
}
set
{
strDept = value;
}
}
public Person(string name, int age, string sex, string dept)
{
strName = name;
strAge = age;
strSex = sex;
strDept = dept;
}
public Person(string name, int age, string sex) //构造函数重载
{
strName = name;
strAge = age;
strSex = sex;
}
public string sayhello() //不带参数,有返回值方法
{
string say="姓名:"+strName+"年龄:"+strAge+",性别"+strSex+",部门"+strDept;
return say;
}
public string sayhello(string strID) //带参数,有返回值方法重载
{
string say = "工号:" + strID + "姓名:" + strName + "年龄:" + strAge + ",性别" + strSex + ",部门" + strDept;
return say;
}
}
#endregion
#region //鱼尾
sealed class yuwei : Person //声明一个类yuwei,从Person类继承。注:此类(yuwei)为密封类,别的类无法再从该类继承
{
private float Height;
public yuwei(string name,int age,string sex,string dept,float height):base(name,age,sex,dept)
{
Height=height;
}
public float HEIGHT
{
get
{
return Height;
}
set
{
Height = value;
}
}
new public string sayhello() //方法重写
{
string hello=base.sayhello()+"身高:"+Height;
return hello;
}
}
#endregion
}
注:方法、构造函数的重载也“多态性”的一种,编译时多态性。还有一种为运行时多态性。