//与java不同,c#不允许使用对象实例调用静态方法,让我惊讶啊!!
//c++可不这样
using System;
using System.Collections.Generic;
using System.Text;
namespace __5
{
//class Program
//{
// static void Main(string[] args)
// {
// }
//}
abstract public class person
{
string name;
string ssn;
int age;
float salary;
public person(string name, string ssn, int age, float sal)
{
this.name = name;
this.ssn = ssn;
this.age = age;
this.salary = sal;
}
private string getssn() //??
{
return ssn;
}
protected int getage()
{
return age;
}
internal float getsalary()
{
return salary;
}
string getname()
{
return name;
}
protected static string getbloodcolor() //静态方法
{
return "red";
}
static int getnumberofeyes()
{
return 2;
}
public override string ToString()
{
return name;
}
public override int GetHashCode()
{
//return base.GetHashCode();
return 12222;
}
public sealed override bool Equals(object obj)
{
//return base.Equals(obj);
person p = obj as person;
if (p == null)
return false;
return this.name.Equals(p.getname());
}
public virtual void calcinvestments()
{
Console.WriteLine("person funds");
}
public virtual void calcdebt()
{
Console.WriteLine("person debt");
}
public abstract void work();
}
public class man : person
{
public man(string name, string ssn, int age, float sal) : base(name, ssn, age, sal) { }
public override void work()
{
Console.WriteLine("works like a dog");
}
public override void calcinvestments()
{
//base.calcinvestments();
Console.WriteLine("man funds");
}
public new void calcdebt()
{
Console.WriteLine("man debt");
}
public static void Main(string[] agrs)
{
man m = new man("jack","12345678",23,40000f);
//Console.WriteLine(m.getbloodcolor()); //与java不同,c#不允许使用对象实例调用静态方法
//Console.WriteLine(m.getnumberofeyes()); //无访问权限
//Console.WriteLine(m.getssn());
//Console.WriteLine(m.getname());
Console.WriteLine(m.getsalary());
Console.WriteLine(m.getage());
m.calcinvestments();
person p = m as person;
p.calcinvestments();
Console.WriteLine("----");
((person)m).calcinvestments();
m.calcdebt();
p.calcdebt();
Console.WriteLine("----");
((person)m).calcdebt();
}
}
}
评论