using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Subclassing
{
class Program
{
static void Main(string[] args)
{
Rottweiler butch = new Rottweiler("Butch") as Dog;
Spaniel mac = new Spaniel("Mac", "yips") as Dog;
butch.Bark();
mac.Bark();
butch.DoYourThing();
mac.DoYourThing();
}
}
class Dog
{
protected string _name;
protected string _sound;
public Dog(string name)
{
_name = name;
_sound = "barks";
}
public Dog(string name, string sound)
{
_name = name;
_sound = sound;
}
public void Bark()
{
Console.WriteLine("{0} {1} at you", _name, _sound);
}
public virtual void DoYourThing()
{
}
}
class Rottweiler : Dog
{
public Rottweiler(string name) : base(name) { }
public Rottweiler(string name, string sound) : base(name, sound) { }
public override void DoYourThing()
{
Console.WriteLine("{0} snarls at you, in a very menacing fashion!", _name);
}
}
class Spaniel : Dog
{
public Spaniel(string name) : base(name) { }
public Spaniel(string name, string sound) : base(name, sound) { }
public override void DoYourThing()
{
Console.WriteLine("{0} drools all over you, then licks you into submission!", name);
}
}
}
Prijavljuje mi problem, kaze da li vam nedostaje kastovanje...
Error 1 Cannot implicitly convert type 'Subclassing.Dog' to 'Subclassing.Rottweiler'. An explicit conversion exists (are you missing a cast?) D:\Documents and Settings\LIVADA\Local Settings\Application Data\Temporary Projects\ConsoleApplication1\Program.cs 12 32 ConsoleApplication1
Neko objasnjenje?