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

        }

    }
  • 相关阅读:
    Add Two Numbers
    Reverse Linked List II
    Reverse Linked List
    Remove Duplicates from Sorted List
    Remove Duplicates from Sorted List II
    Partition List
    Intersection of Two Linked Lists
    4Sum
    3Sum
    2Sum
  • 原文地址:https://www.cnblogs.com/temptation/p/1031712.html
Copyright © 2011-2022 走看看