zoukankan      html  css  js  c++  java
  • 【原】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#查找窗口的两种办法
    也说自动化测试
    定位bug的基本要求
    c#调用GetModuleFileNameEx获取进程路径
    对比PG数据库结构是否一致的方法
    C#调用endtask
    提bug
    接口测试的结果校验
    ProcessExplorer使用分享
    C++如何在r3静态调用NT函数
  • 原文地址:https://www.cnblogs.com/temptation/p/1031712.html
Copyright © 2011-2022 走看看