在另一个对象中实例化一个对象?(c#)
首先,我想说,如果这是一个愚蠢的问题,我真的很抱歉,但我刚刚开始学习课程,我认为我能理解它,但这让我很困惑,所以我似乎没有 我在做一门C#OOP edx课程,我必须在不同的课堂文件中设置5个班级(学生、教师、网络图、学位、课程),任务如下:在另一个对象中实例化一个对象?(c#),c#,class,oop,edx,C#,Class,Oop,Edx,首先,我想说,如果这是一个愚蠢的问题,我真的很抱歉,但我刚刚开始学习课程,我认为我能理解它,但这让我很困惑,所以我似乎没有 我在做一门C#OOP edx课程,我必须在不同的课堂文件中设置5个班级(学生、教师、网络图、学位、课程),任务如下: 实例化一个名为信息技术的UProgram对象 在UProgram对象中实例化一个Degree对象,如bacher 在Degree对象内实例化一个名为softing的课程对象 完成了,(希望)没有问题 和3嗯 我是怎么想的(记住,我是个初学者): 首先,我想
Course softeng = new Course();
在我完成任务的3.点之前,我先做一个课程类的实例
整个代码:
UProgram.cs
public class UProgram
{
public void Newdegree(string Dname, Degree sth)
{
sth = new Degree();
sth.Dname = Dname;
}
}
public class Degree : UProgram
{
public string Dname { get; set; }
public void Newcourse(string Cname, Course sth)
{
sth = new Course();
sth.Cname = Cname;
}
}
public class Course : Degree
{
public void NewTeacher(string FirstName, string LastName, Teacher sth)
{
sth = new Teacher();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public void NewStudent(string FirstName, string LastName, Student sth)
{
sth = new Student();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public string Cname { get; set; }
}
public class Teacher : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Student : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Program
{
static void Main(string[] args)
{
var Information_Technology = new UProgram();
Degree bachelors = new Degree();
Information_Technology.Newdegree("Bachelors", bachelors);
Course softeng = new Course();
bachelors.Newcourse("Software Engineering", softeng);
Teacher t1 = new Teacher();
softeng.NewTeacher("Colin", "Firth", t1);
Student s1 = new Student();
softeng.NewStudent("Mary", "Sue", s1);
Student s2 = new Student();
softeng.NewStudent("Joseph", "Jojo", s2);
Console.ReadLine();
}
}
学位.cs
public class UProgram
{
public void Newdegree(string Dname, Degree sth)
{
sth = new Degree();
sth.Dname = Dname;
}
}
public class Degree : UProgram
{
public string Dname { get; set; }
public void Newcourse(string Cname, Course sth)
{
sth = new Course();
sth.Cname = Cname;
}
}
public class Course : Degree
{
public void NewTeacher(string FirstName, string LastName, Teacher sth)
{
sth = new Teacher();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public void NewStudent(string FirstName, string LastName, Student sth)
{
sth = new Student();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public string Cname { get; set; }
}
public class Teacher : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Student : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Program
{
static void Main(string[] args)
{
var Information_Technology = new UProgram();
Degree bachelors = new Degree();
Information_Technology.Newdegree("Bachelors", bachelors);
Course softeng = new Course();
bachelors.Newcourse("Software Engineering", softeng);
Teacher t1 = new Teacher();
softeng.NewTeacher("Colin", "Firth", t1);
Student s1 = new Student();
softeng.NewStudent("Mary", "Sue", s1);
Student s2 = new Student();
softeng.NewStudent("Joseph", "Jojo", s2);
Console.ReadLine();
}
}
课程.cs
public class UProgram
{
public void Newdegree(string Dname, Degree sth)
{
sth = new Degree();
sth.Dname = Dname;
}
}
public class Degree : UProgram
{
public string Dname { get; set; }
public void Newcourse(string Cname, Course sth)
{
sth = new Course();
sth.Cname = Cname;
}
}
public class Course : Degree
{
public void NewTeacher(string FirstName, string LastName, Teacher sth)
{
sth = new Teacher();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public void NewStudent(string FirstName, string LastName, Student sth)
{
sth = new Student();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public string Cname { get; set; }
}
public class Teacher : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Student : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Program
{
static void Main(string[] args)
{
var Information_Technology = new UProgram();
Degree bachelors = new Degree();
Information_Technology.Newdegree("Bachelors", bachelors);
Course softeng = new Course();
bachelors.Newcourse("Software Engineering", softeng);
Teacher t1 = new Teacher();
softeng.NewTeacher("Colin", "Firth", t1);
Student s1 = new Student();
softeng.NewStudent("Mary", "Sue", s1);
Student s2 = new Student();
softeng.NewStudent("Joseph", "Jojo", s2);
Console.ReadLine();
}
}
Teacher.cs
public class UProgram
{
public void Newdegree(string Dname, Degree sth)
{
sth = new Degree();
sth.Dname = Dname;
}
}
public class Degree : UProgram
{
public string Dname { get; set; }
public void Newcourse(string Cname, Course sth)
{
sth = new Course();
sth.Cname = Cname;
}
}
public class Course : Degree
{
public void NewTeacher(string FirstName, string LastName, Teacher sth)
{
sth = new Teacher();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public void NewStudent(string FirstName, string LastName, Student sth)
{
sth = new Student();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public string Cname { get; set; }
}
public class Teacher : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Student : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Program
{
static void Main(string[] args)
{
var Information_Technology = new UProgram();
Degree bachelors = new Degree();
Information_Technology.Newdegree("Bachelors", bachelors);
Course softeng = new Course();
bachelors.Newcourse("Software Engineering", softeng);
Teacher t1 = new Teacher();
softeng.NewTeacher("Colin", "Firth", t1);
Student s1 = new Student();
softeng.NewStudent("Mary", "Sue", s1);
Student s2 = new Student();
softeng.NewStudent("Joseph", "Jojo", s2);
Console.ReadLine();
}
}
Student.cs
public class UProgram
{
public void Newdegree(string Dname, Degree sth)
{
sth = new Degree();
sth.Dname = Dname;
}
}
public class Degree : UProgram
{
public string Dname { get; set; }
public void Newcourse(string Cname, Course sth)
{
sth = new Course();
sth.Cname = Cname;
}
}
public class Course : Degree
{
public void NewTeacher(string FirstName, string LastName, Teacher sth)
{
sth = new Teacher();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public void NewStudent(string FirstName, string LastName, Student sth)
{
sth = new Student();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public string Cname { get; set; }
}
public class Teacher : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Student : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Program
{
static void Main(string[] args)
{
var Information_Technology = new UProgram();
Degree bachelors = new Degree();
Information_Technology.Newdegree("Bachelors", bachelors);
Course softeng = new Course();
bachelors.Newcourse("Software Engineering", softeng);
Teacher t1 = new Teacher();
softeng.NewTeacher("Colin", "Firth", t1);
Student s1 = new Student();
softeng.NewStudent("Mary", "Sue", s1);
Student s2 = new Student();
softeng.NewStudent("Joseph", "Jojo", s2);
Console.ReadLine();
}
}
Program.cs
public class UProgram
{
public void Newdegree(string Dname, Degree sth)
{
sth = new Degree();
sth.Dname = Dname;
}
}
public class Degree : UProgram
{
public string Dname { get; set; }
public void Newcourse(string Cname, Course sth)
{
sth = new Course();
sth.Cname = Cname;
}
}
public class Course : Degree
{
public void NewTeacher(string FirstName, string LastName, Teacher sth)
{
sth = new Teacher();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public void NewStudent(string FirstName, string LastName, Student sth)
{
sth = new Student();
sth.FirstName = FirstName;
sth.LastName = LastName;
}
public string Cname { get; set; }
}
public class Teacher : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Student : Course
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Program
{
static void Main(string[] args)
{
var Information_Technology = new UProgram();
Degree bachelors = new Degree();
Information_Technology.Newdegree("Bachelors", bachelors);
Course softeng = new Course();
bachelors.Newcourse("Software Engineering", softeng);
Teacher t1 = new Teacher();
softeng.NewTeacher("Colin", "Firth", t1);
Student s1 = new Student();
softeng.NewStudent("Mary", "Sue", s1);
Student s2 = new Student();
softeng.NewStudent("Joseph", "Jojo", s2);
Console.ReadLine();
}
}
我知道,我知道,这很复杂,我甚至不确定这是否是好的,但这是我能想到的全部,如果你们中的任何人能帮助我,我将非常感激(语气不会让我哭泣)
再次感谢您,很抱歉代码如此混乱,呃,我试过了这个措词看起来确实有点奇怪,但我相信他们只是说这个类应该包含它要“包含”的类型的属性,并在构造函数中实例化它。例如:
public class Degree
{
public Course Course { get; set; }
public Degree()
{
Course = new Course();
}
}
public class Course
{
public Student Student { get; set; }
public Course()
{
Student = new Student();
}
}
public class Student
{
public Student()
{
}
}
创建学位实例时,它将在其中创建课程实例,这将在其中创建学生实例。因此,学位包含包含学生的课程
上面的示例使用构造函数实例化这些属性,但由于它们是公共属性,因此也可以从外部创建它们(在这种情况下,上面的构造函数是不必要的):
这个措词看起来确实有点奇怪,但我相信他们只是说这个类应该包含它要“包含”的类型的属性,并在构造函数中实例化它。例如:
public class Degree
{
public Course Course { get; set; }
public Degree()
{
Course = new Course();
}
}
public class Course
{
public Student Student { get; set; }
public Course()
{
Student = new Student();
}
}
public class Student
{
public Student()
{
}
}
创建学位实例时,它将在其中创建课程实例,这将在其中创建学生实例。因此,学位包含包含学生的课程
上面的示例使用构造函数实例化这些属性,但由于它们是公共属性,因此也可以从外部创建它们(在这种情况下,上面的构造函数是不必要的):
仅作几点评论:
我很怀疑你是否需要继承。例如:学生:课程-我怀疑“学生就是课程”:。所以,你可能需要一些构图。我不知道(也不记得)你照片中的钻石到底是什么意思,但我可以猜到,填充的钻石——是一件物品(或者至少是一件,不确定),而空的钻石意味着很多物品。
下面是我的做法(您可以将每个类拆分为单独的文件):
public类文件
{
公共字符串名称{get;set;}
公共度{get;set;}
公共图(字符串名称、度)
{
名称=名称;
度=度;
}
}
公立学位
{
公共字符串名称{get;set;}
公共课程{get;set;}
公共学位(字符串名称、课程)
{
名称=名称;
课程=课程;
}
}
公共课
{
公共列表教师{get;set;}
公共列表学生{get;set;}
公共字符串名称{get;set;}
公共课程(字符串名称、教师列表、学生列表)
{
名称=名称;
教师=教师;
学生=学生;
}
}
公共班主任
{
公共字符串名{get;set;}
公共字符串LastName{get;set;}
}
公立班学生
{
公共字符串名{get;set;}
公共字符串LastName{get;set;}
}
主要功能:
static void Main(string[] args)
{
var teachers = new List<Teacher>
{
new Teacher
{
FirstName = "Colin",
LastName = "Firth"
}
};
var students = new List<Student>
{
new Student
{
FirstName = "Mary",
LastName = "Sue"
},
new Student
{
FirstName = "Joseph",
LastName = "Jojo"
}
};
var softEngCourse = new Course("Software Engineering", teachers, students);
var bachelorDegree = new Degree("Bachelor", softEngCourse);
var technologyProgram = new UProgram("Technology", bachelorDegree);
Console.ReadLine();
}
static void Main(字符串[]args)
{
var教师=新名单
{
新教师
{
FirstName=“科林”,
LastName=“弗斯”
}
};
var students=新列表
{
新生
{
FirstName=“玛丽”,
LastName=“苏”
},
新生
{
FirstName=“约瑟夫”,
LastName=“Jojo”
}
};
var softEngCourse=新课程(“软件工程”,教师,学生);
var bachelorDegree=新学位(“学士”,软化课程);
var technologyProgram=新图谱(“技术”,学士学位);
Console.ReadLine();
}
我仍然不确定这是否正是您对课程的期望,这就是我将如何编写这样的代码(有一些小改动,但在这里并不重要)。
为什么会这样?因为当一个对象显式地接收到它所需要的一切时,它几乎总是在“工作”状态下构建一个对象,而不是创建一个将在“无效”状态下启动的原始对象。第二,它