سفارش تبلیغ
صبا ویژن

 

شی ها و کلاس ها در جاوا

جاوا یک زبان شی گرا است. همانند سایر زبان های شی گرا که دارای ویژگی های شی گرایی هستند، جاوا نیز از مفاهیم اساسی زیر پشتیبانی می کند:

  • چند ریختی
  • وراثت
  • کپسوله سازی
  • انتزاع – مفهوم – برداشت
  • کلاس ها
  • اشیاء
  • نمونه
  • متد
  • پیام تجزیه

 

در این در قسمت از آموزش جاوا، به مفاهیم کلاس و اشیاء نگاهی خواهیم کرد.

شی: اشیاء یکسری خصوصیات (states) و رفتارها (behaviors) را دارند . به عنوان مثال:سگ خصوصیاتی مثل رنگ، نام، نژاد و همچنین رفتارهایی مانند تکان خوردن، پارس کردن و غذا خوردن را دارد. شی یک نمونه از کلاس است.

کلاس: کلاس الگو یا طرحی است که رفتارها و خصوصیات اشیایی که از آن پشتیبانی می کنند را توصیف می کند.

اشیا در جاوا

در این قسمت کمی عمیق تر به اینکه اشیا چه چیزی هستند، نگاه می کنیم. اگر دنیای واقعی را در نظر بگیریم، می توانیم اشیای زیادی را در اطراف خودمان پیدا کنیم. مانند، ماشین ها ، سگ ها، انسان ها و غیره. همه این شی ها خصوصیات و رفتارهایی دارند.
اگر سگ را بررسی کنیم، خصوصیات آن عبارت خواهند بود از : نام، نژاد، رنگ و رفتارهای آن عبارت خواهند بود از: تکان خوردن، پارس کردن، خوردن.
اگر اشیا در نرم افزار را با اشیای دنیای واقعی مقایسه کنیم، آنها کاراکترهای مشابه خیلی زیادی با هم خواهند داشت.
شی ها در نرم افزار نیز رفتارها و خصوصیات دارند. خصوصیات اشیای نرم افزار در فیلدها (fields) ذخیره می شوند و رفتارها با متدها نشان داده می شوند.
بنابراین در توسعه نرم افزار، متدها روی خصوصیات داخلی یک شی عمل می کنند و ارتباط شی با شی نیز با متدها انجام می گیرد.

کلاس ها در جاوا

کلاس طرحی است که از شی های منحصر بفرد ساخته می شود.
یک نمونه از کلاس در زیر آورده شده است:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Dog{
   String breed;
   int ageC
   String color;
 
   void barking(){
   }
    
   void hungry(){
   }
    
   void sleeping(){
   }
}

یک کلاس می تواند شامل هر یک از انواع متغیر های زیر باشد:

متغیرهای محلی (Local variables):

متغیرهای تعریف شده در داخل متدها، سازنده و یا بلوک ها، متغیرهای محلی نامیده می شوند. این متغیر در داخل متد تعریف و مقدار دهی اولیه خواهد شد و متغیر زمانی که متد به آخر رسانده شده است، نابود خواهد شد.

متغیرهای نمونه (Instance variables):

متغیرهای نمونه، متغیرها¬یی هستند که داخل کلاس اما در خارج متدها باشند. این متغیرها زمانی که کلاس ایجاد می شود مقداردهی اولیه می شوند .متغیرهای نمونه می توانند از داخل متدها، سازنده و یا بلوک¬های آن کلاس قابل دسترسی باشند.

متغیرهای کلاس (Class variables):

متغیرهای کلاس، متغیرهایی هستند که در کلاس و خارج از متدها، با کلمه کلیدی استاتیک (static) تعریف می شوند.
یک کلاس می تواند هر تعداد از متدها را برای دسترسی به مقدار انواع متدها داشته باشد. در مثال بالا، hungry() , sleeping() و barking() متد هستند.
زمانی که به دنبال مطالعه کلاس ها در زبان جاوا هستیم، باید موضوعات مهمی که در زیر بحث شده اند را بدانیم.

سازنده ها (Constructors):

در بحث کلاس ها، یکی از مهم ترین موضوعات فرعی سازنده است. هر کلاس دارای یک سازنده است. اگر ما به صراحت سازنده را برای یک کلاس ننویسیم، کامپایلر جاوا یک سازنده پیش فرض برای آن کلاس ایجاد می کند.
هر بار که یک شی جدید ایجاد می شود، حداقل یک سازنده فراخوانی می شود .قانون اصلی سازنده این است که نام آنها باید هم نام با کلاس¬شان باشد. یک کلاس می تواند بیش از یک سازنده داشته باشد.
مثالی از سازنده در زیر آورده شده است:

1
2
3
4
5
6
7
8
public class Puppy{
   public Puppy(){
   }
 
   public Puppy(String name){
      // This constructor has one parameter, name.
   }
}

نحوه ایجاد شی در برنامه نویسی جاوا

همانطور که قبلا ذکر شد، کلاس طرحی برای اشیاء فراهم می کند. بنابراین اساسا یک آبجکت یا شی از یک کلاس ایجاد شده است. در جاوا، کلمه کلیدی new برای ایجاد اشیاء جدید استفاده می شود.
سه مرحله در هنگام ایجاد یک شی از کلاس وجود دارد:

  • تعریف یا اعلان (Declaration): اعلان متغیر با نام متغیر و نوع شی.
  • نمونه ها (Instantiation): کلمه کلیدی ‘new’ برای ایجاد شی استفاده می شود.
  • مقدار دهی اولیه: به دنبال کلمه کلیدی ‘new’ ، سازنده فراخوانی می شود. این فراخوانی شی جدید را مقدار دهی اولیه می کند.

به عنوان مثال ایجاد یک شی در زیر آورده شده است:

1
2
3
4
5
6
7
8
9
10
11
12
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

دسترسی به متغیرهای نمونه و متدها:

متغیرهای نمونه و متدها از طریق اشیاء ایجاد شده قابل دسترسی هستند. روش خوب برای دسترسی به متغیر نمونه به شرح زیر می باشد:

1
2
3
4
5
6
7
8
/* 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();

مثال:
در این مثال چگونگی دسترسی به متغیرهای نمونه و متدهای یک کلاس شرح داده شده است:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
 

اولین دیدگاه را شما بگذارید

 تجهیزات...   

مشخصات مدیر وبلاگ

ویرایش

دوستان

آموزش برنامه نویسی آموزش وردپرس آموزش طراحی سایت پشتیبانی سایت خدمات پشتیبانی سایت برنامه نویسی برنامه نویسی و سئو وبلاگ برنامه نویسی دانستنی های وردپرس آموزش برنلمه نویسی جاوا پیاده سازی سئو کسب ثروت راه های ثروت مند شدن ثروتمند شدن در آمد از اینترنت راه اندازی کسب و کار موفقیت مالی آموزش هیپنوتیزم هیپنوتیزم درمانی چگونه هیپنوتیزم کنیم کسب در آمد از طریق اینترنت کسب در آمد از اینترنت کسب در آمد اینترنتی کسب و کار اینترنتی کسب در آمد در منزل روش های کسب در آمد راههای کسب در آمد راه های کسب در آمد راز موفقیت چیست موفقیت چیست راه های موفقیت در زندگی راه های رسیدن به موفقیت راه موفقیت راههای موفقیت راه های موفقیت روانشناسی موفقیت عوامل موفقیت آموزش موسیقی تجهیزات هتل راه اندازی فست فود تجهیزات رستوران تجهیزات آشپزخانه صنعتی لوازم آشپزخانه لوازم برقی آشپزخانه ویزا کارت گیفت آیتیونز بیمه عمر آموزش رایگان آموزش رایگان سئو آموزش بازاریابی آموزش برنامه نویسی وب آموزش برنامه نویسی اندروید آموزش اندروید آموزش آشپزی آموزش رایگان انیمیشن سازی آموزش انیمیشن سازی آموزش رایگان فتوشاپ آموزش طراحی آموزش رایگان طراحی ایمپلنت دندانپزشکی دندانپزشک بازاریابی تبلیغات اینترنتی آموزش بازاریابی درآمد اینترنتی شغل اینترنتی کار در منزل کارآفرینی کسب درآمد در منزل کسب و کار خانگی خرید بلیط هواپیما
ویرایش

طراحی پوسته توسط تیم پارسی بلاگ