• 【原】2个面试问题(与同事李将的交流)


    今天和李将交流了2个问题:
    第一,口头说明虚方法、抽象方法、接口之间的异同和使用场景;
    第二,脱离IDE,手写一个简单的WinForm程序(例如包括布局整齐的两个文本框和三个按钮、点击按钮弹出消息框显示文本框内容),然后在命令行编译运行。


    第一题答案
    虛函数:由virtual声明,它允许在派生类中被重写,要重写方法,必须先声明为virtual

    public class myclass
    {
        
    public virtual int myint()
        
    {
            函数体;
        }

    }

    class myclass1:myclass
    {
        
    public override int myint()
        
    {
            函数体1;
        }

    }


    抽象类、抽象函数:由abstract声明,在抽象类中可以定义抽象方法,抽象方法基本沒有执行代码,派生类必须重写它,提供其执行代码

    public abstract class myclass
    {
        
    public abstract int myint();
    }

    public class myclass1:myclass
    {
        
    public override int myint()
        
    {
            函数体;
        }

    }


    接口类:由interface声明,是特殊的抽象类,是方法、属性、事件和索引符的组合,沒有字段,其成员无执行方式,无构造函数,不允许进行运算符重载,接口和它的没有任何访问修饰符,它总是公共的,不能声明为虚拟或静态,继承自接口的派生类必须实现接口中的所有方法

    interface Imyinterface
    {
        
    void myfunction();
        
    string name
        
    {
            
    get;
            
    set;
        }

    }

    class myclass:Imyinterface
    {
        
    void myfunction()
        
    {
            函数体;
        }

        
    string name
        
    {
            
    get
            
    {
                
    return name;
            }

              
    set
            
    {
                name
    =value;
            }

        }

    }
  • 相关阅读:
    c# 使用 Read 读取数据块
    C# TCP/IP通信,Socket通信例子
    c# virtual 关键字 虚方法
    统计图
    oauth2.0 判断接口是否允许跨域
    OI常用模板合集
    CSP2021游记
    8.16 树上问题模拟赛总结
    8.15 图论模拟赛垫底记
    8.14 字符串模拟赛总结
  • 原文地址:https://www.cnblogs.com/temptation/p/1031712.html
Copyright © 2020-2023  润新知