关于抽象类,静态函数的两个问题,求教大神~~

zt061013 2013-02-22 01:47:17
关于抽象类的描述,正确的有

A抽象类只能被用作其他类的基类;
B不能创建抽象类的实例;
C抽象类使用abstract修饰符声明;
D抽象类必须包含抽象成员;
E抽象类自己可以派生自另一个抽象类


关于静态函数的描述,正确的有 AB (本人选的AB,对吗?)
A如同静态字段,静态函数成员独立于任何类实例;
B即使没有类的实例,仍然可以调用静态函数成员;
C静态函数成员不能访问实例成员,它们能访问其他静态成员。
D实例成员不能访问静态函数;

...全文
121 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 caozhy 的回复:
学校里面的老师才喜欢讨论什么对错,因为他们不懂编程,所以他们总是发明一些他们自己很欣赏的命题让学生学习,其实这些问题和你写程序毫无关系,把精力浪费在这些文字游戏上有什么价值呢?
让我想起很多面试题目: 类的构造函数是否可以为私有? main函数退出后是否可以执行代码逻辑? ...
threenewbee 2013-02-22
  • 打赏
  • 举报
回复
学校里面的老师才喜欢讨论什么对错,因为他们不懂编程,所以他们总是发明一些他们自己很欣赏的命题让学生学习,其实这些问题和你写程序毫无关系,把精力浪费在这些文字游戏上有什么价值呢?
threenewbee 2013-02-22
  • 打赏
  • 举报
回复
抽象类自己可以派生自另一个抽象类 这个也是对的 抽象类必须包含抽象成员 虽然不是必须,但是你定义一个没有抽象方法的抽象类做什么 静态函数成员不能访问实例成员,看什么叫“访问”。 我写这么个程序,算不算能访问呢?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class MyClass
    { 
        static event Action invokemethod;

        public static void CallMethods() { if (invokemethod != null) invokemethod(); }

        public MyClass()
        {
            invokemethod += Method;
        }
        public void Method()
        {
            Console.WriteLine("Hello World!");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            MyClass.CallMethods();
            MyClass obj1 = new MyClass(), obj2 = new MyClass();
            MyClass.CallMethods();
        }
    }
}
  • 打赏
  • 举报
回复
E对的啊,抽象类也可以继承自非抽象类
Waitforsniping 2013-02-22
  • 打赏
  • 举报
回复
第一题我知道ABC是正确的,D不正确。E有点不确定。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧