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

        }

    }
  • 相关阅读:
    Android Glide详细使用教程
    mac上cocoapods安装与卸载
    Struts2+AJAX+JQuery 实现用户登入与注册功能
    Eclipse+ADT+Android SDK 搭建安卓开发环境
    CVE-2018-7600 Drupal核心远程代码执行漏洞分析
    利用kage把msf变成可视化远控平台
    在Red Hat Enterprise Linux 7.3上安装SQL Server 2017
    计算机取证之你必须要会用的24款工具
    StackStorm利用CORS null origin获得RCE (CVE-2019-9580)
    iOS/OSX漏洞分析和再现:CVE-2019-7286
  • 原文地址:https://www.cnblogs.com/temptation/p/1031712.html
Copyright © 2011-2022 走看看