我最近开始学习C#,但我在C ++的一些背景。 我不知道我怎么会做这样的事情
class employee
{
public:
....
... methods ...
....
private:
....
... private member variables ....
....
}
我想在C#中这样做,但它不喜欢的“市民:...”和“私人:...”,使一切后,无论是公共或私人。
另外,我看到那里有此获取和在C#中设置的东西,所以你不需要做的事情在做一个私有成员变量,然后又做了函数返回该变量的方法是什么?
而我在这,要怎样才能在C#中的子类? 在C#中的新类获得不同的标签页中打开,所以我很困惑,我会怎么做。
你不能让“块”的公共或私人在C#中,你会在C ++中,你必须能见度(和实现)添加到每个成员。 在C ++中,你通常做的;
public:
memberA();
memberB();
private:
memberC();
...和实现成员在别处,而在C#中,你需要做的;
public memberA() { ...implement your function here... }
public memberB() { ...implement your function here... }
private memberC() { ...implement your function here... }
至于性能,把他们看成自动实现的set
和get
,您可以选择实现自己或让编译器实现它们的方法。 如果你想自己实现这些功能,你仍然需要外地来存储你的数据,如果你把它留给编译器,它也将产生领域。
继承的工作完全一样,它将如果你把东西放在同一个文件中(这可能甚至没有更大的C ++项目是一个好主意)。 只是继承像往常一样,只要你在同一个命名空间或有进口的,你可以无缝地继承了基类的命名空间;
using System.Collections; // Where IEnumerable is defined
public class MyEnumerable : IEnumerable { // Just inherit like it
... // was in the same file.
}
1)在C#访问修饰符是从C ++中,你需要明确指定每类成员不同。
http://msdn.microsoft.com/en-us/library/wxh6fsc7(v=vs.71).aspx
2)获取,设置你提的参考C#属性:
class User
{
private string userName;
public string UserName
{
get { return this.userName; }
set { this.userName = value; }
}
}
请注意,您也可以使用自动实现的属性http://msdn.microsoft.com/en-us/library/bb384054.aspx
3)在C#子类是像这样做
class Manager : Employee
{
//implementation goes here as usual
}
在C#中,你必须为每个方法或属性的访问符。 如果不指定需要的默认访问说明符。
对于类成员的默认访问说明符是私人和默认的东西一类外是内部
class MyClass{ //MyClass will be internal
int MyProperty {get; set;} // MyProperty will be privare
}