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;
            }

        }

    }
  • 相关阅读:
    数据访问层之Repository
    IIS执行原理
    异常分析
    Logger
    JSTL
    Kubernetes
    NET Core WordPress
    net平台的rabbitmq
    MySQL can’t specify target table for update in FROM clause
    EqualsBuilder和HashCodeBuilder
  • 原文地址:https://www.cnblogs.com/temptation/p/1031712.html
Copyright © 2011-2022 走看看