Դաս 4.2 ։ Java – Օբյեկտներ և Կլասներ

0

Օբյեկտի ստեղծում

Ինչպես նշվել է նախկինում, class-ը ապահովում է օբյեկտները նախագծով։ Այնպես որ, օբյեկտը ստեղծվում է class-ից։ Java-ում նոր բանալի բառեր են օգտագործվում նոր օբյեկտներ ստեղծելու համար։

Class-ից օբյեկտ ստեղծելու համար անհրաժեշտ է երեք քայլ՝

Declaration – variable declaration փոփոխականի անունով՝ օբյեկտի տեսակով:

Instantiation – ‘նոր’ բանալի բառ, որը օգտագործվում է օբյեկտ ստեղծելու համար:

Initialization – ‘նոր’ բանալի բառ, որին հաջորդում է կոնստրուկտորը: Այս կոչը ինիցիալազացնում է նոր օբյեկտը:

Ահա օբյեկտ ստեղծելու մի օրինակ –

public class Puppy {
   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Passed Name is :" + name );
   }

   public static void main(String []args) {
      // Following statement would create an object myPuppy
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

Գործարկելու դեպքում կտեսնենք հետևյալ արդյունքը՝

Passed Name is :tommy

Մուտք գործել դեպի Instance Variables և Methods

Instance Variable-ները և Method-ները հասանելի է ստեղծված օբյեկտների միջոցով։ Instance Variable մուտք գործելու համար ահա ուղին –

/* First create an object */
ObjectReference = new Constructor();

/* Now call a variable as follows */
ObjectReference.variableName;

/* Now you can call a class method as follows */
ObjectReference.MethodName();

Օրինակ

Այս օրինակը բացատրում է, թե ինչպես մուտք գործել դեպի դասի Instance Variable-ներ և Method-ներ

public class Puppy {
   int puppyAge;

   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Name chosen is :" + name );
   }

   public void setAge( int age ) {
      puppyAge = age;
   }

   public int getAge( ) {
      System.out.println("Puppy's age is :" + puppyAge );
      return puppyAge;
   }

   public static void main(String []args) {
      /* Object creation */
      Puppy myPuppy = new Puppy( "tommy" );

      /* Call class method to set puppy's age */
      myPuppy.setAge( 2 );

      /* Call another class method to get puppy's age */
      myPuppy.getAge( );

      /* You can access instance variable as follows as well */
      System.out.println("Variable Value :" + myPuppy.puppyAge );
   }
}

Գործարկելու դեպքում կտեսնենք հետևյալ արդյունքը՝

Name chosen is :tommy
Puppy's age is :2
Variable Value :2

Source File-ի Declaration սկզբունքը

Այժմ եկեք ուսումնասիրենք Source File-ի Declaration-ի կանոններ: Այս կանոնները, անհրաժեշտ են, երբ հայտարարում եք դասերը, ներմուծում statement-ներ և package statement-ներ Source File-ում։

  • Այստեղ կարող է լինել միայն մեկ public class Source File-ի համար։
  • Source File-ը ունի կարող է ունենալ non-public class-եր։
  • public class-ի անունը պետք է լինի Source File-ի անունը, ինչպես նաև, պետք է վերջում կցված լինի .java: Օրինակ եթե դասի անունը public class Employee{} է, ապա Source File-ի անունտ պետք է լինի Employee.java:
  • Եթե դասը սահմանվում է package-ի ներսում, ապա package statement-ը պետք է լինի առաջին statement-ը source file-ում։
  • Եթե առկա են ներմուծված statement-ներ, ապա դրանք պետք է գրված լինեն package statement և class declaration-ի միջև։ Եթե չկան package statement-ներ, ապա ներմուծված statement-ներ պետք է լինի source file-ի առաջին տողում։
  • Ներմուծված և package statement-ները իերնց տակ ենթադրում են source file-ում առկա բոլոր դասերը։ Հնարավոր չէ հայտարարել տարբեր ներմուծված և/կամ package statement-ներ source file-ի տարբեր դասերում։

Դասեր ունեն քանի մուտքային մակարդակներ և կան դասերի տարբեր տեսակներ՝ abstract classes, final classes, և այլն։ Այս ամենը մանրմասն կբացատրենք հաջորդ բաժնում։

Բացի վերը նշված դասերից տեսակնեից, Java-ն ունի նաև որոշ հատուկ դասեր, որոնք կոչվող ներքին դասեր/Inner classes և անոնիմ դասեր/Anonymous classes։

Java Package

Պարզ ասած, սա միջոց է դասերին ու ինտերֆեյսին կատեգորիաներ տալու։  Երբ Java-ում ստեղծում եք հավելված, գրվում են հարյուրավոր դասեր և ինտերֆեյս։ Հետևաբար այդ դասերին կատեգորիաներ տալը, հեշտացնում է ձեր կյանքը։

Import Statement-ներ

Եթե Java-ում լիովին որակավորված անունը, որն իր մեջ ներառում է փաթեթի և դասի անունը տրված է, ապա compiler-ը կարող է հեշտությամբ source code-ը կամ class-երը։ Import statement-ը մի միջոց compiler-ին պատշաճ լոկացիա տալ տվյալ դասը գտնելու համար։

Օրինակ, հետևյալ տողը ասում է compiler-ին բեռնել բոլոր դասերը, որոնք առկա են java_installation/java/io – ում։

import java.io.*;

Ուսումնասիրության համար մենք կստեղծենք երկու դաս: Դրանք են՝ Employee և EmployeeTest

Առաջին հերթին բացեք notepad-ը ավելացրեք հետևյալ կոդը: Հիշեք, որ սա Employee class է, այսինք աշխատող դաս և պետք է լինի public դաս։ Այժմ, պահպանեք այս source file-ը Employee.java անվամբ։

Employee class ունի չորս instance variable-ներ՝ անուն, տարիք, նշման և աշխատավարձ։ Դասի ունի մեկ բացահայտ սահմանված կոնստրուկտոր, որը ընդունում է պարամետերը։

Օրիանկ

import java.io.*;
public class Employee {

   String name;
   int age;
   String designation;
   double salary;

   // This is the constructor of the class Employee
   public Employee(String name) {
      this.name = name;
   }

   // Assign the age of the Employee  to the variable age.
   public void empAge(int empAge) {
      age = empAge;
   }

   /* Assign the designation to the variable designation.*/
   public void empDesignation(String empDesig) {
      designation = empDesig;
   }

   /* Assign the salary to the variable	salary.*/
   public void empSalary(double empSalary) {
      salary = empSalary;
   }

   /* Print the Employee details */
   public void printEmployee() {
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

Ինչպես նշեց նախկինում այս դասընթացում մշակումը սկսվում է հիմնական մեթոդից: Այդ իսկ պատճառով, որպեսզի մենք աշխատացնենք Employee դասը պետք է լինի հիմնական մեթոդ և ստեղծվեն օբյեկտներ։ Մենք պետք է ստեղծենք առանձին դասեր այս խնդիրների համար։

Ստորև ներկայացվում է EmployeeTest դասը, որը ստեղծում է երկու Employee դասի օրինակ և կոչ անում մեթոդների յուրաքանչյուր օբյեկտի փոփոխականին արժեքներ վերագրելու համար։

Հիշեք հետևյալ կոդը EmployeeTest.java file-ում։

import java.io.*;
public class EmployeeTest {

   public static void main(String args[]) {
      /* Create two objects using constructor */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // Invoking methods for each object created
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

Այժմ գործարկեք երկու դասերը և EmployeeTestարդյունքը տեսնելու համար՝

C:\> javac Employee.java
C:\> javac EmployeeTest.java
C:\> java EmployeeTest
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0

Հաջորդիվ կուսումնասիրենք հիմնական data-ի տեսակները Java-ում, և թե ինչպես վերջիններս կարող են օգտագործվել Java-ով հավելված գրելիս։

Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.