抽象方法和 类 C#
Abstract Method and Classes C#
我正在尝试编写一个基于抽象方法的代码和 类 在 C# 中,但我无法弄清楚为什么我的代码不起作用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication16
{
abstract class ICTcampus
{
public int addNumbers(int number1, int number2)
{
return number1 + number2;
}
public abstract void multiplyNumbers(int number1, int number2)
{
}
public class Derivedclass : ICTcampus
{
public override int multiplyNumbers(int number1, int number2)
{
return number1 * number2;
}
}
class Program
{
static void Main(string[] args)
{
Derivedclass obj = new Derivedclass();
int add = obj.addNumbers(2, 3);
Console.Write(" addition is :{0}", add);
// Console.Write(" multiplication is :{0}", obj.multiplyNumbers(2, 3));
}
}
}
}
这是因为你的 multiplynumber 函数不应该是抽象的,而是虚拟的。如果你想让它抽象,那么你应该删除括号并删除它的空实现
工作代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication16
{
public abstract class ICTcampus
{
public int addNumbers(int number1, int number2)
{
return number1 + number2;
}
public abstract int multiplyNumbers(int number1, int number2);
}
public class Derivedclass : ICTcampus
{
public override int multiplyNumbers(int number1, int number2)
{
return number1 * number2;
}
}
class Program
{
static void Main(string[] args)
{
Derivedclass obj = new Derivedclass();
int add = obj.addNumbers(2, 3);
Console.Write(" addition is :{0}", add);
// Console.Write(" multiplication is :{0}", obj.multiplyNumbers(2, 3));
}
}
}
我正在尝试编写一个基于抽象方法的代码和 类 在 C# 中,但我无法弄清楚为什么我的代码不起作用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication16
{
abstract class ICTcampus
{
public int addNumbers(int number1, int number2)
{
return number1 + number2;
}
public abstract void multiplyNumbers(int number1, int number2)
{
}
public class Derivedclass : ICTcampus
{
public override int multiplyNumbers(int number1, int number2)
{
return number1 * number2;
}
}
class Program
{
static void Main(string[] args)
{
Derivedclass obj = new Derivedclass();
int add = obj.addNumbers(2, 3);
Console.Write(" addition is :{0}", add);
// Console.Write(" multiplication is :{0}", obj.multiplyNumbers(2, 3));
}
}
}
}
这是因为你的 multiplynumber 函数不应该是抽象的,而是虚拟的。如果你想让它抽象,那么你应该删除括号并删除它的空实现
工作代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication16
{
public abstract class ICTcampus
{
public int addNumbers(int number1, int number2)
{
return number1 + number2;
}
public abstract int multiplyNumbers(int number1, int number2);
}
public class Derivedclass : ICTcampus
{
public override int multiplyNumbers(int number1, int number2)
{
return number1 * number2;
}
}
class Program
{
static void Main(string[] args)
{
Derivedclass obj = new Derivedclass();
int add = obj.addNumbers(2, 3);
Console.Write(" addition is :{0}", add);
// Console.Write(" multiplication is :{0}", obj.multiplyNumbers(2, 3));
}
}
}