English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

التصنيفات والأشياء في Ruby

Ruby لغة برمجة موجهة بالكائنات ممتازة. تتضمن خصائص لغة البرمجة الموجهة بالكائنات ما يلي:

  • التجميع
  • التجميع البياني
  • التفرد
  • التنسيق

هذه الخاصيات ستتم مناقشتها. Ruby الموجهة بالكائنات يتم مناقشتها.

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

بمثال على السيارة، تتضمن العجلات (العجلات)、القوة الهيكلية (القوة الهيكلية) ومساحة خزان الوقود أو الغاز (مساحة خزان الوقود أو الغاز). هذه الخاصيات تشكل أعضاء بيانات فئة السيارة (Vehicle). باستخدام هذه الخاصيات يمكنك تمييز السيارة من السيارات الأخرى.

يمكن أن تحتوي السيارات أيضًا على وظائف معينة مثل التوقف (halting) والقيادة (driving) والسرعة الزائدة (speeding). تشكل هذه الوظائف عنصرًا من بيانات الفئة Vehicle. لذلك، يمكنك تعريف الفئة كتركيب من الخصائص والوظائف.

تعريف الفئة Vehicle كالتالي:

在线示例

فئة Vehicle
{
   عدد العجلات (no_of_wheels)
   عدد القدرة على الحصان (horsepower)
   مؤشر نوع البرميل (type_of_tank)
   عدد السعة (Capacity)
   دالة سرعة (speeding)
   {
   }
   دالة قيادة (driving)
   {
   }
   دالة توقف (halting)
   {
   }
}

من خلال تخصيص القيم المختلفة لهذه العناصر البيانية، يمكنك إنشاء أنواع مختلفة من أمثلة الفئة Vehicle. على سبيل المثال، الطائرة تحتوي على ثلاثة عجلات، قوة 1,000 حصان، وتباين الحمولة 100 لتر. وبالنفس الشكل، السيارة تحتوي على أربع عجلات، قوة 200 حصان، وتباين الحمولة 25 لتر.

تعريف الفئة في Ruby

للقيام ببرمجة المواجهة في Ruby، يجب أن تتعلم أولاً كيفية إنشاء الأجرام والفئات في Ruby.

في Ruby، تكون الفئات دائمًا تبدأ بمفتاح الكلمة class تبدأ، تتبع الاسم الفئة. يجب أن تكون أول حرف من اسم الفئة كبيرًا. الفئة Customer كما يظهر فيما يلي:

class Customer
end

يمكنك استخدام الكلمة المفتاحية end إنهاء الفئة. كل العناصر البيانية تكون بين تعريف الفئة و end بين الكلمات المفتاحية.

المتغيرات في الفئات Ruby

يقدم Ruby أربعة أنواع من المتغيرات:

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

在线示例

يمكنك استخدام المتغيرات الكلاسيكية @@no_of_customers للتحقق من عدد الأجرام المُتخَلَق، مما يمكن أن يساعدك في تحديد عدد العملاء.

在线示例

class Customer
   @@no_of_customers=0
end

في Ruby new 方法创建对象

对象是类的示例。现在您将学习如何在 Ruby 中创建类的对象。在 Ruby 中,您可以使用类的方法 new 创建对象。

方法 new 是一种独特的方法,在 Ruby 库中预定义。new 方法属于方法。

下面的示例创建了类 Customer 的两个对象 cust1 和 cust2:

cust1 = Customer. new
cust2 = Customer. new

在这里,cust1 和 cust2 是两个对象的名称。对象名称后跟着等号(=),等号后跟着类名,然后是点运算符和关键字 new

自定义方法来创建 Ruby 对象

您可以给方法 new 传递参数,这些参数可用于初始化类变量。

当您想要声明带参数的 new 方法时,您需要在创建类的同时声明方法 initialize

initialize 方法是一种特殊类型的方法,将在调用带参数的类的 new 方法时执行。

下面的示例创建了 initialize 方法:

在线示例

class Customer
   @@no_of_customers=0
   def initialize(id, name, addr)
      @cust_id=id
      @cust_name=name
      @cust_addr=addr
   end
end

在本示例中,您可以声明带有 id、name、addr 作为局部变量的 initialize方法。def و end 用于定义 Ruby 方法 initialize。在后续的章节中,您将学习有关方法的更多细节。

initialize 方法中,把这些局部变量的值传给示例变量 @cust_id、@cust_name 和 @cust_addr。在这里,局部变量的值是随着 new 方法进行传递的。

现在,您可以创建对象,如下所示:

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

Ruby 类中的成员函数

在 Ruby 中,函数被称为方法。中的每个方法是以关键字 def 开始,后跟方法名。

方法名总是以小写字母开头。在 Ruby 中,您可以使用关键字 end 来结束一个方法。

下面的示例定义了一个 Ruby 方法:

class Sample
   def function
      بند 1
      بند 2
   end
end

في هذا المكان،بند 1 و بند 2 هي طريقة داخل الفئة Sample function المكونات الأساسية من الجسم. هذه الأوامر يمكن أن تكون أي أوامر Ruby صالحة. على سبيل المثال، يمكننا استخدام puts للإخراج مرحبًا بكم في Ruby، كما هو موضح أدناه:

class Sample
   def hello
      puts "مرحبًا بكم في Ruby!"
   end
end

السلسلة التالية ستقوم بإنشاء موضوعًا من الفئة Sample وتطبيق hello الطريقة:

#!/usr/bin/ruby
class Sample
   def hello
      puts "مرحبًا بكم في Ruby!"
   end
end
# استخدم الفئة المذكورة أعلاه لإنشاء الموضوع
object = Sample.new
object.hello

سيكون هذا هو النتيجة التالية:

مرحبًا بكم في Ruby!

دراسة حالة بسيطة

إذا كنت ترغب في القيام ببعض التمارين حول التصنيفات والأشياء، فهناك دراسة حالة واحدة هنا:

مثال على تصنيف Ruby