永发信息网

c#或java里子类对象赋值给父类有什么用,举几个例子啊。

答案:2  悬赏:0  手机版
解决时间 2021-01-24 10:34
我看视频学的。 它里面是如下代码,绕来绕去的有什么意义啊。
//Person是父类 ,父类函数PersonSay()

Person p = new Student();
p.PersonSay();
Student s=(Student )p; //把p强转为Student类型后赋给s
s.StudentSay();

是叫里氏转换吧,我想知道它的实际用途,求举例啊。
最佳答案
里氏替换原则:

定义一:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。
定义二:所有引用基类的地方必须能透明地使用其子类的对象。

大概的要求是:

1、父类对象指向子类实例,向上转型和向下转型是里氏替换的一种应用。

2、子类必须完全实现父类的方法,父类对象出现的地方都可以用子类对象进行替换。

这是里氏替换的主要内涵,下面对这两种体现分别进行代码举例。

定义一个抽象类Person:

public abstract class Person{

public abstract String getDetails();

}

用Student类来继承Person

public class Student extends Person{

private String stuName;

private int age;

private double score;

public Student() {

super();

// TODO Auto-generated constructor stub

}

public Student(String stuName, int age, double score) {

super();

this.stuName = stuName;

this.age = age;

this.score = score;

}

@Override

public String getDetails() {

// TODO Auto-generated method stub

return this.stuName + this.age + this.score;

}
}

在Test类里面可以用:

Person person = new Student();//这是向上转型。

也可以定义:

Student student = new Student(“stu”,19,99);

可以将student对象用在所有应该使用Person类型的地方。

Private List person = new ArrayList();

Person.add(student);
全部回答
举个例子: 你第一天去学校上课,假如其他同学你都不认识,你知不知道别的同学会些什么?(可能你同桌会弹吉他,你前面的同学很会唱歌),这些在你和他们第一次见面的时候你是不知道。老师也不知道,老师想要某一个学生站起来回答问题,老师知道不管是哪个学生都会双腿站起来,都会说中国话(当然这是在班级里没有残疾人的情况下),知道这两点老师就可以叫某个学生起来回答问题了,对吧。 在这个例子里,会说中国话就代表你的PersonSay()方法,老师就是使用你这个方法的人,那么老师还需不需要知道具体是哪个学生了?不需要了,可以随意点名,因为这个班级里都是人类,都会站起来说中国话
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
杭州清河旅游信息服务公司怎么去啊,我要去那
七彩花房地址在什么地方,想过去办事
单选题下列说法符合“节能减排、低碳生活”理
智讯快客无痕扫码群发出的快扫是怎么扫码自动
It is illegal for a public official to ask
业城花卉地址在什么地方,我要处理点事
片假名怎么打
两次鸦片战争后,中国开放了很多通商口岸。下
Win7系统运行office2013闪退的解决方法?
嘉兰坊鲜花批发地址在哪,我要去那里办事
我们利用石油炼制的汽油来开动汽车,也可以利
【求】高音质的曼联队歌《Glory Glory Man Un
水厂花卉盆景园怎么去啊,我要去那办事
表演天赋测试
单选题日本福泽谕吉的《文明论概略》就社会转
推荐资讯
新悦二手车怎么去啊,我要去那办事
宣城亚夏报废车辆回收有限公司地址好找么,我
为什么腾讯的顽固木马专杀查到有法老木马病毒
单选题找出划线部分读音不同的词,并将其序号
单选题等位基因是位于A.同一对同源染色体上位
单选题氢叠氮酸HN3与氢卤酸相似,它是易挥发
成群批零部地址在哪,我要去那里办事
形成酸雨的主要原因是A.燃烧煤、石油、天然气
怎么样做好业务员
为什么在我的win7专业版中打不开pb做的软件
按保险价值可将海上保险分为不定值保险和()。
求小说《打拼——六兄弟的血色往事》所有的全
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?