Menu
Coddy logo textTech

Sınıf Tanımlama

Coddy'nin Ruby Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 2 / 57.

Bir sınıf, bir nesne türünü tanımlar: ne bildiğini ve ne yapabildiğini. class Dog ... end sınıfı bildirir ve Dog.new bu sınıfın bir nesnesini, yani bir örneği oluşturur. Sınıfın içinde def ile tanımlanan bir yöntem her örnek üzerinde çağrılabilir:

class Dog
  def speak
    "Woof"
  end
end

rex = Dog.new
puts rex.speak
puts rex.class

Çıktı:

Woof
Dog

new nesneyi oluşturur ve ardından new için verdiğiniz bağımsız değişkenlerle nesnenin initialize yöntemini çağırır. initialize nesneyi hazırlar; genellikle bağımsız değişkenleri adları @ ile başlayan örnek değişkenlerinde depolar:

class Dog
  def initialize(name)
    @name = name
  end

  def speak
    "#{@name} says Woof"
  end
end

puts Dog.new("Rex").speak
puts Dog.new("Bella").speak

Çıktı:

Rex says Woof
Bella says Woof

Yöntemler, herhangi bir Ruby yöntemi gibi bağımsız değişkenler alır ve son ifadelerinin değerini döndürür. new için yapılan her çağrı ayrı bir nesne oluşturur:

class Calculator
  def add(a, b)
    a + b
  end

  def average(numbers)
    numbers.sum.to_f / numbers.size
  end
end

calc = Calculator.new
puts calc.add(2, 3)
puts calc.average([1, 2, 3, 6])

Çıktı:

5
3.0

Sınıf adları CamelCase ile yazılan sabitlerdir (BankAccount); yöntem ve değişken adları snake_case kullanır (deposit_money). new, bağımsız değişkenlerini initialize ile karşılaştırır; bu nedenle eksik bir bağımsız değişken ArgumentError hatası oluşturur:

class Point
  def initialize(x, y)
    @x = x
    @y = y
  end
end

begin
  Point.new(1)
rescue ArgumentError => e
  puts e.message
end

Çıktı:

wrong number of arguments (given 1, expected 2)
challenge icon

Görev

Kolay

Formatter sınıfını tamamla. Bu sınıfın title(text) metodu, her kelimenin ilk harfi büyük olacak şekilde metni döndürür (the hobbit, The Hobbit sonucunu verir); slug(text) metodu, kelimeleri - ile birleştirerek küçük harfle döndürür (the-hobbit); initials(text) metodu ise her kelimenin ilk harfini büyük harfle döndürür (TH).

Sağlanan kod bir Formatter oluşturur ve her girdi satırı için üç sonucu ayrı satırlarda yazdırır.

Kodun formatter.rb dosyasına yazılmalıdır. main.rb sağlanan girdi/çıktı kodunu içerir ve düzenlenemez.

REQUIRED OUTPUT FORMAT: [Your translated content here]

Kendin dene

require_relative 'formatter'

# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input = []
while (line = gets)
  input << line.chomp
end
formatter = Formatter.new
input.each do |line|
  puts formatter.title(line)
  puts formatter.slug(line)
  puts formatter.initials(line)
end
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Ruby derleyicisi