C#
Создаем новое C# консольное приложение... и напишем код
using System;
namespace ConsoleApplication1
{
abstract class Person
{
abstract public void ShowInfo();
}
class Developer : Person
{
public String CompanyName { get; set; }
override public void ShowInfo()
{
Console.WriteLine("Developer, work in " + CompanyName);
}
}
class Program
{
static void Main(string[] args)
{
Person myPerson = new Developer();
// способ 1. Используем try и ( )
try
{
Developer developer1 = (Developer)myPerson;
developer1.CompanyName = "Soft";
developer1.ShowInfo();
}
catch (InvalidCastException ex)
{
Console.WriteLine(ex.Message);
}
// способ 2. Используем is и ( )
if (myPerson is Developer)
{
Developer developer2 = (Developer)myPerson;
developer2.CompanyName = "Googy";
developer2.ShowInfo();
}
// способ 3. Используем as
Developer developer3 = myPerson as Developer;
if (developer3!=null)
{
developer3.CompanyName = "Cotton";
developer3.ShowInfo();
}
// способ 4. Используем шаблон is
if (myPerson is Developer developer4)
{
developer4.CompanyName = "House";
developer4.ShowInfo();
}
}
}
}