HtechA

علمي

كلاس هاي Nested در جاوا

۳۷ بازديد

در جاوا مي توانيد يك كلاس را در يك كلاس ديگر تعريف كنيد. اين كلاس به عنوان كلاس Nested شناخته مي شود.

 

class OuterClass {

 

// …

 

class NestedClass {

 

// …

 

}

 

}

 

دو نوع كلاس Nested يا تو در تو مي توانيد در جاوا ايجاد كنيد.

 

كلاس تو در تو غير استاتيك (كلاس Inner )

كلاس تو در تو استاتيك

بياييد ابتدا به كلاس هاي تو در تو غير استاتيك نگاه كنيم.

 

كلاس تو در تو غير استاتيك

كلاس تو در تو غير استاتيك يك كلاس در كلاس ديگري است كه در آن به اعضاي كلاس محصور (كلاس بيروني) دسترسي دارد. معمولا به عنوان كلاس دروني شناخته مي شود.

 

كلاس داخلي در داخل كلاس بيروني وجود دارد (براي اينكه يك كلاس دروني را تعريف كنيد ، ابتدا بايد كلاس بيروني را تعريف كنيد).

ادامه مطلب...

آموزش واسط (interface) در جاوا

۲۱۲ بازديد

در جاوا ، يك رابط مجموعه اي از خصوصيات را كه ساير كلاس ها بايد پياده سازي كنند ، تعريف مي كند. مثلا،

 

interface Polygon {

public void getArea();

}

در اينجا ، Polygon يك رابط است. از كليد واژه interface براي تعريف واسط استفاده كرده ايم.

 

متد ()getArea خصوصيت تعيين شده در رابط Polygon است. كليه كلاس هايي كه از اين رابط استفاده مي كنند بايد متد ()getArea را پياده سازي كنند.

 

رابط مي تواند شامل متد abstract و ثابت باشد. مثلا،

 

interface Polygon {

public static final String color = “blue”;

public void getArea();

}

در مثال بالا ، ما يك رابط Polygon ايجاد كرده ايم كه شامل متغير ثابت color و متد انتزاعي ()getArea است.

 

توجه به اين نكته حائز اهميت است كه ، تمام متد هاي داخل يك رابط بطور پيش فرض public هستند و همه فيلد ها بطور پيش فرض public static هستند. از اين رو ، مشخص كردن سطح دسترسي در داخل رابط ها ضروري نيست. به عنوان مثال ، مي توانيم كد فوق را به صورت زير بنويسيم :

 

interface Polygon {

String color = “blue”;

void getArea();

}

كلمه كليدي implements در رابط

مانند كلاس هاي انتزاعي ، نمي توانيم از رابط شي ايجاد كنيم. با اين حال ، مي توانيم رابط ها را در كلاس هاي ديگر پياده سازي كنيم. در جاوا ، از كليد واژه implements براي پياده سازي رابط ها استفاده مي كنيم

ادامه مطلب....

كلاس ها و متدهاي abstract (انتزاعي) در جاوا

۴۲ بازديد

كلاس انتزاعي كلاسي است كه نمي توان آن را معرفي كرد (نمي توانيم از كلاس انتزاعي شي ايجاد كنيم). در جاوا از كلمه كليدي abstract براي تعريف كلاس انتزاعي استفاده مي كنيم.

 

abstract class Animal {

//attributes and methods

}

اگر سعي كنيم از كلاس انتزاعي شي ايجاد كنيم ، كامپايلر خطا مي گيرد. مثلا :

 

Animal a1 = new Animal()

 

كه خطاي كامپايلر ايجاد مي كند:

 

Animal is abstract; cannot be instantiated

 

گرچه كلاس هاي انتزاعي را نمي توان تعريف كرد ، اما مي توانيم از آن ها زير كلاس و از زير كلاس براي دسترسي به اعضاي كلاس انتزاعي، شي ايجاد كنيم.

 

قبل از اينكه به طور مفصل در مورد آن ها صحبت كنيم ، بايد متد هاي انتزاعي را درك كنيم.

ادامه مطلب....

آموزش كامل تابع Main پايتون

۳۴ بازديد

كد زير را در نظر بگيريد:

def main():

print “hello world!”

print “Guru99”

در اينجا ما دو قطعه از چاپ را داريم كه يكي در يك تابع اصلي تعريف شده است كه “hello world” و ديگري مستقل است كه “Guru99” را چاپ مي كند. وقتي تابع ()main را اجرا مي كنيد :

  • فقط “Guru99” چاپ مي شود
  • و از كد ” hello world” خبري نيست.

زيرا تابع فراخواني”if__name __ ==” __main__ را اعلام نكرديم.

  • هنگامي كه مترجم پايتون يك سورس فايل را بخواند ، تمام كدهاي موجود در آن را اجرا مي كند.
  • وقتي پايتون ” source file” را به عنوان برنامه اصلي اجرا مي كند ، متغير ويژه (__name__) را براي داشتن يك مقدار (“__main__”) تعيين مي كند.
  • هنگامي كه شما تابع main را اجرا مي كنيد ، آنگاه عبارت “if” را مي خواند و بررسي مي كند كه آيا __name__ برابر است با __main__ يا نه.
  • در پايتون “if__name __ ==” __main__ به شما امكان مي دهد فايل هاي پايتون را به صورت ماژول هاي قابل استفاده مجدد يا برنامه هاي مستقل اجرا كنيد.

مانند C ، پايتون از == براي مقايسه while = for استفاده مي كند. مترجم پايتون از دو روش تابع main را استفاده مي كند

  • import: نام فايل ماژول = __name__

false statement== if و اسكريپت در __main__ اجرا نمي شود

  • اجراي مستقيم: __ main __ =__ name __

اگر true == statement if و اسكريپت در _main___ اجرا مي شود

  • بنابراين وقتي كد اجرا شد ، نام ماژول را با “if” بررسي مي كند.

مهم است كه بعد از تعريف تابع main (تابع اصلي)، كد را با if__name __ == “__main__” فراخواني كنيد و سپس آن را اجرا كنيد ، فقط در اين صورت خروجي “hello world” را در كنسول برنامه نويسي مطابق شكل زير دريافت خواهيد كرد.

ادامه مطلب...

 

اولين برنامه پايتون

۳۹ بازديد

متغير پايتون يك مكان حافظه رزرو شده براي ذخيره مقادير است. به عبارت ديگر ، يك متغير در يك برنامه پايتون داده ها را براي پردازش به كامپيوتر مي دهد.

هر متغير در پايتون نوع داده يا datatype دارد. انواع داده هاي مختلف در پايتون عبارتند از: Numbers ، List ، Tuple ، Strings ، Dictionary و غيره. متغيرها را مي توان با هر اسم يا حروف الفبا مانند a، aa، abc و غيره بيان كرد.

در اين آموزش ، موارد زير را ياد خواهيم گرفت:

نحوه تعريف و استفاده از متغير

به مثال زير توجه كنيد. متغير “a” را تعريف مي كنيم و آن را چاپ مي كنيم.

a=100

print a

تعريف مجدد متغير

مي توانيد متغير را دوباره تعريف كنيد حتي پس از آنكه يك بار تعريف كرديد.

در اينجا متغير را مقدار دهي اوليه f = 0 كرديم.

بعدا متغير f را به مقدار “guru99” تغيير مي دهيم.

ادامه مطلب...

عملگر هاي پايتون

۲۷ بازديد

از عملگرها براي انجام عمليات روي مقادير و متغيرها استفاده مي شود. عملگرها مي توانند آيتم هاي تكي را دستكاري كرده و نتيجه را بر گردانند. آيتم هاي داده به عنوان عملگر يا آرگومان شناخته مي شوند. عملگرها يا توسط كلمات كليدي يا كاراكترهاي خاص نمايش داده مي شوند. به عنوان مثال ، براي عملگرهاي شناسه از كلمه كليدي “is” و “not” استفاده مي كنيم.

در اين آموزش موارد زير را ياد مي گيريم:

  • عملگرهاي محاسباتي
  • عملگرهاي مقايسه
  • عملگرهاي انتساب پايتون
  • عملگرهاي منطقي يا عملگرهاي بيتي
  • عملگرهاي بررسي عضويت
  • عملگرهاي هويت
  • تقدم عملگر

عملگرهاي محاسباتي

عملگرهاي محاسباتي، محاسبات رياضي مختلف را انجام مي دهند مانند جمع ، تفريق ، ضرب ، تقسيم ، مد٪ ، توان ، و غيره. متد هاي مختلفي براي محاسبه رياضيات در پايتون وجود دارد ، مانند استفاده از تابع Eval ، تعريف متغير و انجام محاسبات يا فراخواني توابع.

مثال: براي عملگرهاي رياضي جمع را مثال مي زنيم كه دو عدد ۴ و ۵ را با م جمع مي كند.

x= 4

y= 5

print(x + y)

به طور مشابه ، مي توانيد از عملگرهاي محاسباتي ديگر مانند ضرب (*) ، تقسيم (/) ، تفريق (-) و غيره استفاده كنيد.

ادامه مطلب...

 

ديكشنري يا فرهنگ لغت پايتون

۳۴ بازديد

ديكشنري ها نمونه ديگري از ساختار داده هستند. ديكشنري براي نقشه يا پيوند دادن چيزهايي كه مي خواهيد با كليد آن ها را ذخيره كنيد ، استفاده مي شود. ديكشنري در پايتون دقيقاً مانند ديكشنري در دنياي واقعي است. ديكشنري پايتون با دو عنصر كليد و مقدار تعريف مي شود.

  • كليد ها عنصر واحد خواهند بود.
  • مقادير مي توانند يك ليست يا ليستي درون ليست ديگر ، اعداد و غيره باشند.

در اين آموزش، موارد زير را ياد خواهيم گرفت:

  • متد هاي ديكشنري پايتون
  • كپي ديكشنري
  • به روز كردن ديكشنري
  • حذف كليدها از ديكشنري
  • متد ()items ديكشنري
  • مرتب كردن ديكشنري
  • توابع داخلي ساخته شده ديكشنري پايتون
  • متد ()len ديكشنري
  • انواع متغير
  • متد ()cmp ليست پايتون
  • (Dic(Str

ادامه مطلب...

 

TUPLE در پايتون

۲۶ بازديد

تاپل دقيقا مانند ليستي دنباله دار از اشياء پايتون است. تفاوت ليست و تاپل در اين است كه ليست در براكت هاي مربع تعريف مي شود و قابل تغيير است اما تاپل در پرانتز تعريف مي شود و قابل تغيير نيست. با اين حال ، مي توانيد بخش هايي از تاپل هاي موجود را برداريد تا بتوانيد تاپل هاي جديدي ايجاد كنيد.

ساختار تاپل

Tup = (‘Jan’,’feb’,’march’)

براي نوشتن تاپل خالي ، بايد بين پرانتز چيزي ننويسيد.

tup1 = ();

براي نوشتن تاپل براي يك مقدار واحد ، بايد حتما كاما درج كنيد ، حتي اگر يك مقدار واحد نيز وجود داشته باشد. همچنين در انتهاي آن مانند شكل زير بايد ; بگذاريد.

Tup1 = (50,);

شاخص هاي تاپل ها از ۰ شروع مي شوند و مي توان آن ها را متصل كرد ، برش داد و…

در اين آموزش مي آموزيم:

  • Packing و Unpacking
  • مقايسه تاپل ها
  • استفاده از تاپل ها به عنوان كليد در فرهنگ لغات
  • حذف تاپل ها
  • برش تاپل
  • توابع ساخته شده با تاپل
  • مزاياي استفاده از تاپل به جاي ليست

ادامه مطلب...

رشته ها در پايتون

۱۵ بازديد

پايتون از يك كاراكتر پشتيباني نمي كند ، و كاراكتر هاي تك را به عنوان رشته هايي با طول يك ، و يا substring در نظر مي گيرد.

براي بدست آوردن زير رشته از براكت هاي مربعي به همراه شاخص ابتدا و انتها استفاده مي كنيم.

var1 = “Guru99!”

var2 = “Software Testing”

print (“var1[0]:”,var1[0])

print (“var2[1:5]:”,var2[1:5])

عملگر هاي مختلف رشته

عملگرهاي رشته اي مختلفي وجود دارد كه مي توانند به روش هاي مختلفي مانند اتصال رشته هاي مختلف مورد استفاده قرار گيرند.

فرض كنيد اگر a = guru و b = 99 باشد ، آنگاه a + b = “guru99”. به طور مشابه ، اگر از a2استفاده كنيد ، “GuruGuru” خواهد شد. به همين ترتيب ، مي توانيد از عملگرهاي ديگر در رشته استفاده كنيد.

ادامه مطلب...