Latest web development tutorials

كائنات جافا والطبقات

جافا كلغة وجوه المنحى. وهو يدعم المفاهيم الأساسية التالية:

  • تعدد الأشكال
  • وراثة
  • صفقة
  • ملخص
  • فئة
  • الأجسام
  • أمثلة
  • الطريق
  • زائد

في هذا القسم ونحن نركز على مفهوم الأشياء والطبقات.

  • الاعتراض: إن الهدف من ذلك هو مثيل من فئة (كائن هو عدم العثور على صديقة)، هناك دولة والسلوك. على سبيل المثال، كان الكلب هو كائن الذين ولايات هي: اللون والاسم وسلالة، السلوك: يهز ذيله، ودعا، وتناول الطعام وهلم جرا.
  • الفئة: فئة هي القالب الذي يصف سلوك فئة من الأشياء والوضع.

الفتيان والفتيات تحت الرقم للطبقة، ومحددة لكل فئة من الكائنات الاصطناعية:


كائنات Java

الآن دعونا نفهم ما هو كائن. ننظر حولنا في العالم الحقيقي، وسوف تجد حولها الكثير من الأشياء، والسيارات، والكلاب، والناس، وهلم جرا. كل هذه الأشياء تكون لهم دولتهم المستقلة والسلوك.

لاتخاذ الكلب على سبيل المثال، فإنه ينص على: اسم، وتولد أو اللون أو السلوك: دعا، المهرجون ذيله وركض.

مقارنة الكائنات الحقيقية والأشياء البرامج متشابهة جدا بينهما.

كائنات البرمجيات لدينا حالة والسلوك. كائن البرمجيات الدولة هو السمة السلوك حسب طريقة التعبير.

في مجال تطوير البرمجيات، الاتصال ببعضهم البعض لتغيير طريقة تشغيل الحالة الداخلية للكائن، ويتم إنجاز الكائن بواسطة الأسلوب.

دروس جافا

ويمكن رؤية الطبقة كقالب لإنشاء كائنات جافا.

باتباع تعريف فئة بسيطة لفهم جاوة في الصف:

public class Dog{
   String breed;
   int age;
   String color;
   void barking(){
   }
   
   void hungry(){
   }
   
   void sleeping(){
   }
}

وهناك فئة يمكن أن تحتوي الأنواع التالية من المتغيرات:

  • المتغيرات المحلية: متغير في الأسلوب، منشئ أو بيان التعاريف كتلة تسمى المتغيرات المحلية. يتم تعريف المتغيرات وتهيئة في الأسلوب، وبعد نهاية الأسلوب، والمتغيرات وسيتم تدمير تلقائيا.
  • المتغيرات عضو: يتم تعريف المتغيرات عضو الفئة، المتغير خارج الجسم طريقة. يتم إنشاء هذا المتغير عند إنشاء مثيل كائن. المتغيرات عضو يمكن الوصول إليها في فئة كتلة بيان الأساليب والمنشئات وطرق فئة معينة.
  • المتغيرات الدرجة: المتغيرات الطبقة أعلنت في الدرجة، وهي طريقة أخرى من الجسم، ولكن يجب أن أعلنت كنوع ثابت.

وهناك فئة يمكن أن يكون لها طرق متعددة، في المثال أعلاه: نباح ()، جائع () والنوم () هي الطبقة الكلب.


منشئ

كل فئة لديها المنشئ. إذا كنت لا تعرف صراحة منشئ فئة، ومترجم جافا توفر منشئ افتراضي للفئة.

إنشاء كائن، على الأقل، ليتم استدعاؤها منشئ. يجب أن يكون اسم المنشئ نفس اسم الفئة، فئة يمكن أن يكون الصانعين متعددة.

هنا مثال على المنشئ:

public class Puppy{
   public Puppy(){
   }

   public Puppy(String name){
      // 这个构造器仅有一个参数:name
   }
}

إنشاء كائن

يتم إنشاء كائنات استنادا إلى الفئة. في جاوة، استخدم الجديدة الكلمة لخلق كائن جديد. إنشاء كائن يتطلب الخطوات الثلاث التالية:

  • تنويه: إعلان كائن، بما في ذلك اسم الكائن ونوع الكائن.
  • الأمثلة على ذلك: الكلمة الجديدة لخلق كائن.
  • التهيئة: إنشاء كائن جديد باستخدام منشئ افتراضي لتهيئة وسوف يطلق الكائن.

هنا مثال على إنشاء كائن:

public class Puppy{
   public Puppy(String name){
      //这个构造器仅有一个参数:name
      System.out.println("Passed Name is :" + name ); 
   }
   public static void main(String []args){
      // 下面的语句将创建一个Puppy对象
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

ترجمة وتشغيل البرنامج السابق وطباعة النتائج التالية:

Passed Name is :tommy

المتغيرات سبيل المثال وصول وسائل

للوصول إلى المتغيرات عضو وأساليب الأعضاء من خلال كائن تم إنشاؤه على النحو التالي:

/* 实例化对象 */
ObjectReference = new Constructor();
/* 访问其中的变量 */
ObjectReference.variableName;
/* 访问类中的方法 */
ObjectReference.MethodName();

أمثلة

يوضح المثال التالي كيفية الوصول إلى متغيرات سبيل المثال وأساليب عضو الدعوة:

public class Puppy{
   int puppyAge;
   public Puppy(String name){
      // 这个构造器仅有一个参数:name
      System.out.println("Passed Name 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){
      /* 创建对象 */
      Puppy myPuppy = new Puppy( "tommy" );
      /* 通过方法来设定age */
      myPuppy.setAge( 2 );
      /* 调用另一个方法获取age */
      myPuppy.getAge( );
      /*你也可以像下面这样访问成员变量 */
      System.out.println("Variable Value :" + myPuppy.puppyAge ); 
   }
}

ترجمة وتشغيل البرنامج المذكور أعلاه تنتج النتائج التالية:

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

قواعد إعلان الملف المصدر

في الجزء الأخير من هذا الباب، ونحن سوف تعلم قواعد تعلن الملف المصدر. عند تعريف فئات متعددة في ملف مصدر واحد، وهناك تصريحات الاستيراد وبيان العبوة، تولي اهتماما خاصا لهذه القواعد.

  • ملف المصدر يمكن أن يكون فئة العمومي واحد فقط
  • ملف المصدر يمكن أن يكون متعددة الطبقات غير العامة
  • يجب أن يكون اسم الملف المصدر والطبقة العامة اسم الفئة ثابت. على سبيل المثال: اسم الفئة في الملف المصدر فئة العمومي هو الموظف، ثم يجب أن تكون تسمية الملف المصدر Employee.java.
  • إذا تم تعريف فئة في الحزمة، يجب أن يكون بيان حزمة السطر الأول من الملف المصدر.
  • إذا كان الملف المصدر يحتوي على بيان الاستيراد، يجب وضع بيان بين حزمة والطبقة التعاريف. إذا لم يكن هناك بيان الحزمة، يجب أن تكون البيانات استيراد قبل كل شيء في الملف المصدر.
  • البيانات حزمة الاستيراد والبيانات من كافة فئات محددة في الملف المصدر صالحة. في نفس الملف المصدر، وليس لفئات مختلفة من بيان حزم مختلفة.

هناك عدة مستويات من الطبقة الوصول، ويمكن تقسيم الصف إلى أنواع مختلفة: فئات مجردة والطبقات النهائية وما شابه ذلك. يتم وصف هذه في قسم التحكم في الوصول.

وبالإضافة إلى أنواع المذكورة أعلاه، جافا هناك بعض الفئات الخاصة، مثل: الطبقات الداخلية، والطبقات مجهولة.


حزمة جافا

يستخدم حزمة أساسا لتصنيف الطبقات والواجهات. عندما كنت في وضع برنامج جافا يستطيع الكتابة مئات من الطبقات، لذلك من الضروري تصنيف الطبقات والواجهات.

بيان الاستيراد

في جاوة، إذا ما أعطيت اسم مؤهل بشكل كامل، بما في ذلك اسم الحزمة، اسم الفئة، ثم مترجم جافا يمكن بسهولة تحديد موقع شفرة المصدر أو فئة. يستخدم بيان الاستيراد لتوفير مسار معقول، بحيث مترجم يمكن العثور على الطبقة.

على سبيل المثال، فإن الأمر سطر الأوامر مترجم التالية تحميل جميع الطبقات java_installation / جافا / مسار IO من

import java.io.*;

وهناك مثال بسيط

في هذا المثال، ونحن خلق فئتين: موظف وEmployeeTest.

أولا، افتح محرر النصوص للصق التعليمات البرمجية التالية إلى ذلك. ملاحظة الملف كما Employee.java حفظ.

فئة الموظف أربعة متغيرات الأعضاء: الاسم، العمر، تعيين والراتب. الطبقة يعلن صراحة طريقة البناء، وهي معلمة واحدة فقط.

import java.io.*;
public class Employee{
   String name;
   int age;
   String designation;
   double salary;
   // Employee 类的构造器
   public Employee(String name){
      this.name = name;
   }
   // 设置age的值
   public void empAge(int empAge){
      age =  empAge;
   }
   /* 设置designation的值*/
   public void empDesignation(String empDesig){
      designation = empDesig;
   }
   /* 设置salary的值*/
   public void empSalary(double empSalary){
      salary = empSalary;
   }
   /* 打印信息 */
   public void printEmployee(){
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

يبدأ تنفيذ البرنامج من الأسلوب الرئيسي. لتشغيل البرنامج، ويجب أن تحتوي على الأسلوب الرئيسي إنشاء مثيل كائن.

هنا الطبقة EmployeeTest، مثيل مثيلين من فئة الموظف، واستدعاء الأسلوب لتعيين قيمة المتغير.

يتم تخزين التعليمات البرمجية التالية في ملف EmployeeTest.java.

import java.io.*;
public class EmployeeTest{

   public static void main(String args[]){
      /* 使用构造器创建两个对象 */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // 调用这两个对象的成员方法
      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 :> vi EmployeeTest.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