如果我们有2个班级的孩子:父母,最新的是什么

时间:2015-11-28 18:38:24

标签: c# oop inheritance

C#中的

如果我们有2个类孩子:父母,最新的是:

parent p = new parent; parent p = new child;  child c = new parent;

2 个答案:

答案 0 :(得分:2)

这可能对您有所帮助:

http://www.codeproject.com/Articles/22769/Introduction-to-Object-Oriented-Programming-Concep

所以,如果类Parent {} 类Child:Parent {}

1)父p1 = new Parent(); //创建一个新的父 2)孩子c1 =新孩子(); //创建一个孩子 3)父p2 =新孩子(); //创建一个子项并将其转换为Parent,删除Parent没有的所有方法/属性 4)孩子c2 =新父母(); //不会编译,不能隐式转换

答案 1 :(得分:0)

所以我认为你问的是多态性的影响......在哪种情况下

int

你可以play with this on dotNetFiddle

输出

using System;

public class Program
{
    public class Parent 
    {
        public override string ToString() 
        {
            return "I AM THE PARENT";
        }   
    }

    public class Child : Parent
    {
        public override string ToString() 
        {
            return "I AM THE CHILD";
        }   
    }

    public static void Main()
    {
        Parent parent = new Parent(); 
        Parent pAsChild = new Child();  
        //Child child = new Parent(); does not compile

        Console.WriteLine("{0}", parent.ToString());
        Console.WriteLine("{0}", pAsChild.ToString());
    }
}