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

Ruby 클래스와 객체

Ruby는 완벽한 객체 지향 프로그래밍 언어입니다. 객체 지향 프로그래밍 언어의 특징은 다음과 같습니다:

  • 데이터 포장
  • 데이터 추상화
  • 다형성
  • thừa kế

이 기능들은 객체 지향 Ruby 논의 중입니다.

객체 지향 프로그램은 클래스와 객체에 관련된 것입니다. 클래스는 개별 객체를 생성하는 블루프린트입니다. 객체 지향 용어에서, 당신의 자전거는 자전거 클래스의 예입니다.

차량을 예로 들어, 그것은 바퀴(wheels)、마력(horsepower)、연료나 가스 탱크 용량(fuel or gas tank capacity)을 포함합니다. 이러한 속성들은 차량(Vehicle) 클래스의 데이터 멤버를 형성합니다. 이러한 속성을 통해 차량을 다른 차량과 구분할 수 있습니다.

차량은 특정 함수를 포함할 수 있습니다. 예를 들어, 중지(halting)、운전(driving)、과속(speeding)와 같은 함수. 이 함수들은 차량(Vehicle) 클래스의 데이터 멤버를 형성합니다. 따라서, 클래스를 속성과 함수의 조합으로 정의할 수 있습니다。

클래스 Vehicle의 정의는 다음과 같습니다:

온라인 예제

클래스 Vehicle
{
   숫자 바퀴 수
   숫자 마력
   문자 탱크 유형
   숫자 용량
   함수 과속
   {
   }
   함수 운전
   {
   }
   함수 중지
   {
   }
}

이러한 데이터 멤버에 다른 값을 할당하여 클래스 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

에서 new 메서드를 사용하여 객체를 생성할 수 있습니다。

객체는 클래스의 예제입니다. 지금 Ruby에서 클래스의 객체를 생성하는 방법을 배울 것입니다. Ruby에서는 클래스의 메서드를 사용하여 new 객체를 생성합니다。

메서드 new 은 Ruby 라이브러리에서 사전 정의된 독특한 메서드입니다. new 메서드는클래스메서드.

다음 예제는 클래스 Customer의 두 개의 객체 cust를 생성합니다:1 과 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

def function문장 1 이곳에서 문장 2 는 클래스 Sample 내의 메서드입니다 function 의 주제 구성 요소입니다. 이 구문은 어떤 유효한 Ruby 구문이든 될 수 있습니다. 예를 들어, 다음과 같은 메서드를 사용할 수 있습니다 puts 출력하려면 Hello Ruby아래와 같이 보여집니다:

class Sample
   def hello
      puts "Hello Ruby!"
   end
end

다음 예제는 클래스 Sample의 하나의 객체를 생성하고 호출합니다. hello 메서드:

#!/usr/bin/ruby
class Sample
   def hello
      puts "Hello Ruby!"
   end
end
# 위의 클래스를 사용하여 객체를 생성합니다
object = Sample.new
object.hello

다음과 같은 결과가 나타납니다:

안녕하세요 Ruby!

간단한 사례 연구

클래스와 객체에 대한 연습을 더 하고 싶다면, 다음과 같은 사례 연구가 있습니다:

Ruby 클래스 예제