Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Stwórz klasę Person posiadające następujące dane:
- -name
- -surname
- -idNumer
- Oraz metodę
- printInformation() - drukującą informację o osobie.
- Dodaj konstruktory do danej klasy oraz odpowiednie gettery i settery.
- Stwórz klasę dziedziczącą po klasie Person Student posiadającą dodatkowe dane takie jak:
- -index
- -year
- -average
- Dodaj odpowiednie gettery i settery. Dodaj odpowiednie konstruktory ( użyj base).
- PrintInformation() - powinna zostać przesłonięta.
- Dodaj przykładowe tworzenie obiektów klasy.
- Stwórz klasę PersonManager, której możliwe jest wywołanie jednej instancji ( klasa powinna
- zawierać prywatny konstruktor, oraz metodę publiczną pobierającą instancje). Klasa powinna
- posiadać ArrayListe do , której możliwe jest dodawania kolejnych osób oraz ich wypisywanie.
- */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- using System.Collections;
- public class Person {
- string name { get; set; }
- string surname { get; set; }
- int idNumer { get; set; }
- public Person(string name, string surname, int idNumer){
- this.name = name;
- this.surname = surname;
- this.idNumer = idNumer;
- }
- Person(string name, string surname){
- this.name = name;
- this.surname = surname;
- }
- Person(int idNumer){
- this.idNumer = idNumer;
- }
- public void printInfo() {
- Console.Write(name + " " + surname + " " + idNumer );
- }
- }
- public class Student : Person {
- int index { get; set; }
- int year { get; set; }
- double average { get; set; }
- public Student(int index, int year, double average, string name, string surname, int idNumer) : base(name,surname,idNumer){
- this.index = index;
- this.year = year;
- this.average = average;
- }
- Student(int index, int year, string name, string surname, int idNumer) : base(name, surname, idNumer)
- {
- this.index = index;
- this.year = year;
- }
- Student(double average, string name, string surname, int idNumer) : base(name, surname, idNumer)
- {
- this.average = average;
- }
- public new void printInfo(){
- base.printInfo();
- Console.WriteLine(" " + index + " " + year + " " + average);
- }
- }
- /*
- * Singleton – kreacyjny wzorzec projektowy, którego celem jest ograniczenie możliwości tworzenia obiektów dane
- * j klasy do jednej instancji oraz zapewnienie globalnego dostępu do stworzonego obiektu. Niekiedy wzorzec uogólnia
- * się do przypadku wprowadzenia pewnej maksymalnej liczby obiektów, jakie mogą istnieć w systemie
- */
- public class PersonManager {
- private static readonly PersonManager instance = new PersonManager();
- public ArrayList list = new ArrayList();
- private PersonManager(){}
- public static PersonManager Instance {
- get {
- return instance;
- }
- }
- public void addPerson(Person tmpPerson) {
- list.Add(tmpPerson);
- }
- public void PrintValues(IEnumerable myList)
- {
- /*
- foreach (Object obj in myList)
- Console.Write("{0}", obj);
- Console.WriteLine();
- **/
- foreach (Student p in myList) {
- p.printInfo();
- }
- }
- }
- namespace zad1{
- class Program{
- static void Main(string[] args){
- Person p1 = new Person("adam", "malysz", 44);
- p1.printInfo();
- Console.WriteLine();
- Student s1 = new Student(1, 2 , 3.5 , "bronislaw", "komorowski", 1);
- s1.printInfo();
- Student s2 = new Student(1, 2, 3.5, "aleksander", "kwasniewski", 1);
- PersonManager.Instance.addPerson(s1);
- PersonManager.Instance.addPerson(s2);
- PersonManager.Instance.PrintValues(PersonManager.Instance.list);
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment