c#上班,上学,交通方式接口

cs 复制代码
using System;


namespace INTERFACE
{
    abstract class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }

        public virtual void ShowInfo()
        {
            Console.WriteLine($"Name: {Name}, Age: {Age}");
        }
    }

    // 接口 IWork
    interface IWork
    {
        void GotoCompany();
    }

    // 接口 IStudy
    interface IStudy
    {
        void GotoSchool();
    }

    // 接口 ITransport
    interface ITransport
    {
        void Transport();
    }

    // Student 类
    class Student : Person, IStudy, ITransport
    {
        public string School { get; set; }

        public override void ShowInfo()
        {
            Console.WriteLine($"School: {School} Name: {Name}, Age: {Age}");
        }

        public void GotoSchool()
        {
            Console.WriteLine($"去{School}上学");
        }

        public void Transport()
        {
            Console.WriteLine("乘地铁去学校");
        }
    }


    class Engineer : Person, IWork, ITransport
    {
        public string Company { get; set; }

        public override void ShowInfo()
        {
            Console.WriteLine($"Name: {Name}, Age: {Age}");
            Console.WriteLine($"Company: {Company}");
        }

        public void GotoCompany()
        {
            Console.WriteLine($"去{Company}上班");
        }

        public void Transport()
        {
            Console.WriteLine("开车去公司");
        }
    }

    class Program
    {
        static void Main()
        {
            Student student = new Student { Name = "Alice", Age = 20, School = "南京工业职业技术大学" };
            student.ShowInfo();
            student.Transport();
            student.GotoSchool();

            Engineer engineer = new Engineer { Name = "Bob", Age = 30, Company = "华为" };
            engineer.ShowInfo();
            engineer.GotoCompany();
            engineer.Transport();
            Console.Read();
        }
    }
}
相关推荐
jerryinwuhan4 小时前
基于各城市站点流量的复合功能比较
开发语言·php
迈巴赫车主5 小时前
Java基础:list、set、map一遍过
java·开发语言
南 阳6 小时前
Python从入门到精通day66
开发语言·python
十八旬7 小时前
快速安装ClaudeCode完整指南
开发语言·windows·python·claude
前进的李工8 小时前
EXPLAIN输出格式全解析:JSON、TREE与可视化
开发语言·数据库·mysql·性能优化·explain
Byron Loong8 小时前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
独隅9 小时前
CodeX + Visual Studio Code 联动的全面指南
开发语言·php
坚果派·白晓明9 小时前
【鸿蒙PC三方库移植适配框架解读系列】第一篇:Lycium C/C++ 三方库适配 — 概述与环境配置
c语言·开发语言·c++·harmonyos·开源鸿蒙·三方库·c/c++三方库
爱吃小白兔的猫9 小时前
LPA算法详解:一种近线性时间的图社区发现方法
开发语言·php