[英]How do I use a class as a template in C#?
我不确定我是否正确提出了要求,请耐心等待。 我目前正在尝试对神经网络进行编程。 下面是一些示例代码。
using System;
namespace Network
{
class BaseNeuron
{
public static void Main (string[] args)
{
public int Weight;
public void sendPulse()
{
}
public void receivePulse()
{
}
}
}
}
因此,基本上,我希望能够创建BaseNeuron类的多个实例,并将每个“神经元”绑定到其他“神经元”以构成神经元网络。 有什么方法可以执行而不必为每个神经元重复此代码片段吗?
首先,您提供的代码中存在一些错误:
class BaseNeuron
{
public static void Main (string[] args)
{
public int Weight;
public void sendPulse()
{
}
public void receivePulse()
{
}
}
}
它应该是:
class BaseNeuron
{
//class field
public int Weight;
//class method
public void SendPulse(/*Parameters ...*/)
{
//Do stuff
}
//class method
public void ReceivePulse(/*Parameters ...*/)
{
//Do stuff
}
}
请注意, Main
已消失。 类通常没有Main
方法,该方法通常只是应用程序的入口点 (程序运行时要执行的第一个函数)。
基本上,每个类都是对象的模板 ,这意味着您可以使用new
关键字创建该类的新实例 ,如下所示:
//creating two seperate neurons
neuron1 = new BaseNeuron();
neuron2 = new BaseNeuron();
//Notice that each SendPulse is called on separate objects!
neuron1.SendPulse();
neuron2.SendPulse();
我建议您阅读一些有关课堂的知识(也许在这里 ),以更好地了解其工作原理。
好了,现在我们上课了。 您说过我们想建立一个由几个神经元组成的网络,这些神经元是上述类的实例。 因此,您可能想要做的是:
class Program
{
public void Main(string[] args)
{
//the size of the network
int size = 5;
//create array of Neurons
BaseNeuron[] network = new BaseNeuron[size];
for(int i = 0; i < network.length; i++)
{
//actually create a new nueron (instantiate them)
network[i] = new BaseNeuron();
//link up neurons together, etc
}
}
}
当然,实现取决于BaseNeuron
类的内部实现。 您可能还需要创建一个NeuralNetwork
类来包含上述代码和相关功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.