Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace OOP_example
- {
- class Student
- {
- private string firstName; // fields , pazqt vremennite danni za class-a
- private string lastName; // Access modifiers = private , za da mogat da se dostupvat samo ot tozi class
- private string fullName;
- readonly string number; // readOnly , za da moje ID nomera da se suzdava unikalen pri suzdavaneto na obekt ot constr i da ne se promenq
- public Student() // constructor -- ako suzdadem student bez vhodni parametri
- {
- fullName = "<Anonymous>";
- number = Guid.NewGuid().ToString(); // davam unikalen nomer ID za vseki nov student
- }
- public Student(string firstName, string lastName) // constructor -- ako ima FN i LN
- {
- if (firstName.Length < 3 || firstName == null || firstName.Length > 15) // validation
- {
- throw new ArgumentException("Please, enter valid first name! (between 3 and 15 symbols ) ");
- }
- if (lastName.Length < 3 || lastName == null || lastName.Length > 15)
- {
- throw new ArgumentException("Please, enter valid last name! (between 3 and 15 symbols ) ");
- }
- fullName = firstName + " " + lastName;
- number = Guid.NewGuid().ToString();
- }
- public string FirstName // Property za FName --> tuk pravq validaciq za da setna stoinost , ima getter za da moje da se polzva stoinostta
- {
- get
- {
- return this.firstName;
- }
- set
- {
- if (value.Length < 3 || value == null || value.Length > 15)
- {
- throw new ArgumentException("Please, enter valid first name! (between 3 and 15 symbols ) ");
- }
- else
- {
- this.firstName = value;
- }
- }
- }
- public string LastName // prop za last name , validation
- {
- get
- {
- return this.lastName;
- }
- set
- {
- if (value.Length < 3 || value == null || value.Length > 15)
- {
- throw new ArgumentException("Please, enter valid last name! (between 3 and 15 symbols ) ");
- }
- else
- {
- this.lastName = value;
- }
- }
- }
- public string FullName
- {
- get
- {
- return this.fullName;
- }
- set
- {
- if (value.Length < 3 || value == null || value.Length > 30)
- {
- throw new ArgumentException("Please, enter valid Full name! (between 3 and 15 symbols ) ");
- }
- else
- {
- fullName = value;
- }
- }
- } // Ne e nujna validaciq , tui kato sum checknal first i last name po otdelno
- public void GoToExam() // method
- {
- if (firstName != null && lastName != null) // imam IF ako purvona4alno obekta e suzdaden bez parametri, no v posledstvie
- // e populnil first i last name , PODOZIRAM che ima po inteligenten na4in !
- {
- fullName = firstName + " " + lastName;
- }
- Console.WriteLine(@"The student {0} with student's ID = ""{1}"" go to SoftSkills exam", fullName, number);
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- // obekt bez parametri, v posledstvie zadavame stoinost na property-to FullName, trqbva da mine validaciq
- Student Ivan = new Student();
- Ivan.FullName = "Stoyan Rusev";
- Ivan.GoToExam();
- Console.WriteLine();
- // obekt sus 2 vhodni parametera FN i LN , vseki trqbva da mine validaciq
- Student T = new Student("Todor", "Karamfilov");
- T.GoToExam();
- Console.WriteLine();
- // obekt s prazen konstruktor, na koito v posledstvie zadavam stoinost na FN i LN
- var student3 = new Student();
- student3.FirstName = "Dimitar";
- student3.LastName = "Petrov";
- student3.GoToExam();
- Console.WriteLine();
- // otnovo prazen ctor, v posledstvie zadavame samo FN.
- var student4 = new Student(); // v tozi slu4ai studenta trqbva da e Unknown tui kato e dal samo first name
- student4.FirstName = "Rosen";
- student4.GoToExam();
- Console.WriteLine();
- //// Exeption :
- //var exeption = new Student("TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", "");
- //// Exeption2 :
- //var exeption2 = new Student();
- //exeption2.FirstName = "";
- //// Exeption3 :
- //var exeption3 = new Student();
- //exeption3.LastName = "ssssssssssssssssssssssssssssssssssssssssssssssssssss";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement