Đây là bài tập về nhà !!! Vui lòng không diễn giải điều này khi tôi yêu cầu ai đó viết mã cho tôi.C#: Thiết kế kém của lớp (OOP đầu tiên)
Chương trình của tôi: http://pastebin.com/SZP2dS8D
Đây là OOP đầu tiên của tôi. Chương trình hoạt động tốt mà không cần đầu vào người dùng (UI), nhưng việc thực hiện nó làm cho thiết kế của tôi một phần không hiệu quả. Tôi không sử dụng bộ sưu tập Danh sách vì các hạn chế chuyển nhượng. Mục tiêu chính của tôi là có mọi thứ chạy từ lớp Transcript. Dưới đây là một số vấn đề tôi đang chạy vào:
- Cho phép người dùng thêm khóa học mới mà không cần phải tạo ra một thể hiện mới của Transcript
mỗi lần - Liên kết các khóa học bổ sung vào một khu phố cụ thể
Dưới đây là một số mã giả để hiển thị những gì tôi đang cố gắng hoàn thành. Tôi đã thử nghiệm nó, nhưng vẫn chưa thành công.
Please enter the quarter: (user input)
Would you like to add a course?
while (true)
Enter Course/Credits/Grade
//new Course information populated with user input
transcript.AddCourse.to specific Quarter((Fall 2013) new Course("Math 238", 5, 3.9));
transcript.AddCourse.to specific Quarter((Fall 2013) new Course("Phys 223", 5, 3.8));
transcript.AddCourse.to specific Quarter((Fall 2013) new Course("Chem 162", 5, 3.8));
TÔI HỎI [S]: Tôi có nên giữ lớp Transcript, hoặc loại bỏ nó? Với chức năng hiện tại của việc tạo ra một khóa học mới, có thể giữ nó theo cách này trong khi sử dụng giao diện người dùng hay tôi cần quay lại bảng phấn và cấu hình lại?
Hy vọng điều này là mạch lạc và không quá rộng. Nếu cần làm rõ, vui lòng hỏi và tôi sẽ vui lòng cung cấp thêm chi tiết.
Có một lý do bạn có một loạt các 'Học sinh' trong lớp 'Bản sao' của bạn? Tôi cho rằng thiết kế này là một 'Bản sao' là cho mỗi' Học sinh ', vì vậy bạn chỉ cần một. – Gjeltema
Trên một lưu ý phụ, bạn đang làm tất cả các kiểu dáng của bạn theo phong cách Java. Ví dụ, bạn đặt tên rất nhiều thuộc tính 'setXXX' hoặc' getXXX', khi trong C# nó chỉ là 'XXX'. Ngoài ra, trong C#, tên hàm đầu tiên là ký tự chữ hoa. – Gjeltema
@Gjeltema Thiết kế mà tôi có trong đầu là sử dụng Bảng điểm thay cho Danh sách. Bạn là chính xác, ý định tôi có cho Bảng điểm là cho mỗi học sinh. Tôi đã cố gắng tạo một danh sách trống cho học sinh. Tôi sẽ cố gắng loại bỏ mảng Sinh viên, điều đó có ý nghĩa hoàn toàn. – Leif