2013-10-19 72 views
-3

Hello guys我在网上搜索如何在C#中实现这个java代码,但我没有运气。我用参数创建了一个超类和一个基类任何人都可以帮助我。我想在C#中实现这个代码。Visual C#中的构造函数代码的等效代码

class People 
{ 
    public String first_name; 

    public String last_name; 

    public People(String fname, String lname) 
    { 
     this.first_name = fname; 

     this.last_name = lname; 
    } 
} 

class Student extends People 
{ 
    Public int studentID; 

    public Student(String fname,String lname,int studid) 
    { 
     super(fname,lname); 

     this.studentID = studid; 
    } 

} 

Student newStud = new Student('Jessica','Doe','123); 

这里就是我想在C#中实现的,而不是调用类的人,并实例化它的代码,我只是想打电话给学生类,从人的类继承。我是C#新手,任何人都可以帮助我解决这个问题。

+3

请澄清你的问题。我猜你正在寻找C#中'super()'或'extends'的等价物,但是你不会在你的帖子中说清楚。 –

+1

注意到根据'C#'命名约定,公共成员应该是'ProperCased',所以它将是'公共字符串名字'和'公共字符串姓氏'(而不是可怕的java惯例) –

+0

它也不会是'class People',因为通常类名是单数的,所以它会是'class Person'。 –

回答

3

请检查:

abstract class People 
{ 
    public string FirstName; 
    public string LastName; 

    public People(string firstName, string lastName) 
    { 
     FirstName = firstName; 
     LastName = lastName; 
    } 
} 

sealed class Student : People 
{ 
    public int StudentId; 

    public Student(string firstName, string lastName, int studendId) 
     : base(firstName, lastName) //Calling the base class constructor 
    { 
     StudentId = studendId; 
    } 
} 
+0

请编辑您的答案并为了清晰起见改进缩进。 –

+1

你为什么使用抽象? – Krekkon

+0

抽象修饰符指示被修改的对象缺少或不完整的实现。抽象修饰符可以与类,方法,属性,索引器和事件一起使用。在类声明中使用抽象修饰符来表示一个类仅用于其他类的基类。标记为抽象或包含在抽象类中的成员必须由派生自抽象类的类来实现。 –

1

实在是太简单了,我想

class People 
{ 
    public String first_name; 
    public String last_name; 

    public People(string fname, string lname) 
    { 
     this.first_name = fname; 
     this.last_name = lname; 
    } 
} 

class Student : People 
{ 
    public int studentID; 
    public Student(string fname, string lname, int studid): base(fname,lname) 
    { 
     this.studentID = studid; 
    } 
}