SHARE
TWEET

Untitled

a guest Jun 18th, 2019 67 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace OOP_example
  8. {
  9.  
  10.     class Student
  11.     {
  12.         private string firstName; // fields , pazqt vremennite danni za class-a
  13.         private string lastName;  // Access modifiers = private , za da mogat da se dostupvat samo ot tozi class
  14.         private string fullName;
  15.         readonly string number; // readOnly , za da moje ID nomera da se suzdava unikalen pri suzdavaneto na obekt ot constr i da ne se promenq
  16.  
  17.         public Student()  // constructor -- ako suzdadem student bez vhodni parametri
  18.         {
  19.             fullName = "<Anonymous>";
  20.             number = Guid.NewGuid().ToString(); // davam unikalen nomer ID za vseki nov student
  21.         }
  22.         public Student(string firstName, string lastName) // constructor -- ako ima FN i LN
  23.         {
  24.             if (firstName.Length < 3 || firstName == null || firstName.Length > 15) // validation
  25.             {
  26.                 throw new ArgumentException("Please, enter valid first name! (between 3 and 15 symbols ) ");
  27.             }
  28.             if (lastName.Length < 3 || lastName == null || lastName.Length > 15)
  29.             {
  30.                 throw new ArgumentException("Please, enter valid last name! (between 3 and 15 symbols ) ");
  31.             }
  32.            
  33.             fullName = firstName + " " + lastName;
  34.             number = Guid.NewGuid().ToString();
  35.         }
  36.  
  37.         public string FirstName  // Property za FName --> tuk pravq validaciq za da setna stoinost , ima getter za da moje da se polzva stoinostta
  38.         {
  39.             get
  40.             {
  41.                 return this.firstName;
  42.             }
  43.             set
  44.             {
  45.                 if (value.Length < 3 || value == null || value.Length > 15)
  46.                 {
  47.                     throw new ArgumentException("Please, enter valid first name! (between 3 and 15 symbols ) ");
  48.                 }
  49.                 else
  50.                 {
  51.                     this.firstName = value;
  52.                 }
  53.             }
  54.         }
  55.         public string LastName // prop za last name , validation
  56.         {
  57.             get
  58.             {
  59.                 return this.lastName;
  60.             }
  61.             set
  62.             {
  63.                 if (value.Length < 3 || value == null || value.Length > 15)
  64.                 {
  65.                     throw new ArgumentException("Please, enter valid last name! (between 3 and 15 symbols ) ");
  66.                 }
  67.                 else
  68.                 {
  69.                     this.lastName = value;
  70.                 }
  71.             }
  72.         }
  73.         public string FullName
  74.         {
  75.             get
  76.             {
  77.                 return this.fullName;
  78.             }
  79.             set
  80.             {
  81.                 if (value.Length < 3 || value == null || value.Length > 30)
  82.                 {
  83.                     throw new ArgumentException("Please, enter valid Full name! (between 3 and 15 symbols ) ");
  84.                 }
  85.                
  86.                 else
  87.                 {
  88.                     fullName = value;
  89.                 }
  90.  
  91.             }
  92.         } // Ne e nujna validaciq , tui kato sum checknal first i last name po otdelno
  93.  
  94.  
  95.         public void GoToExam()    // method
  96.         {
  97.             if (firstName != null && lastName != null) // imam IF ako purvona4alno obekta e suzdaden bez parametri, no v posledstvie
  98.                                                        // e populnil first i last name , PODOZIRAM che ima po inteligenten na4in !    
  99.             {
  100.                 fullName = firstName + " " + lastName;
  101.             }
  102.             Console.WriteLine(@"The student {0} with student's ID = ""{1}"" go to SoftSkills exam", fullName, number);
  103.         }
  104.     }
  105.  
  106.  
  107.     class Program
  108.     {
  109.         static void Main(string[] args)
  110.         {
  111.             // obekt bez parametri, v posledstvie zadavame stoinost na property-to FullName, trqbva da mine validaciq
  112.             Student Ivan = new Student();
  113.             Ivan.FullName = "Stoyan Rusev";
  114.             Ivan.GoToExam();
  115.             Console.WriteLine();
  116.  
  117.             // obekt sus 2 vhodni parametera FN i LN , vseki trqbva da mine validaciq
  118.             Student T = new Student("Todor", "Karamfilov");
  119.             T.GoToExam();
  120.             Console.WriteLine();
  121.  
  122.             // obekt s prazen konstruktor, na koito v posledstvie zadavam stoinost na FN i LN
  123.             var student3 = new Student();
  124.             student3.FirstName = "Dimitar";
  125.             student3.LastName = "Petrov";
  126.             student3.GoToExam();
  127.             Console.WriteLine();
  128.  
  129.             // otnovo prazen ctor, v posledstvie zadavame samo FN.
  130.             var student4 = new Student(); // v tozi slu4ai studenta trqbva da e Unknown tui kato e dal samo first name
  131.             student4.FirstName = "Rosen";
  132.             student4.GoToExam();
  133.             Console.WriteLine();
  134.  
  135.             //// Exeption :
  136.             //var exeption = new Student("TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", "");
  137.  
  138.             //// Exeption2 :
  139.             //var exeption2 = new Student();
  140.             //exeption2.FirstName = "";
  141.  
  142.             //// Exeption3 :
  143.             //var exeption3 = new Student();
  144.             //exeption3.LastName = "ssssssssssssssssssssssssssssssssssssssssssssssssssss";
  145.         }
  146.     }
  147. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top