» Главная
eXcode.ru » Статьи » Ruby
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 14





Установка встраиваемой техники

Онлайн-заказ услуг. Содержания свежих номеров выпускаемых изданий.

mosmasters.ru


Чистка сухим льдом

Региональные новости строительства. Календарь строительных выставок.

cleaning-star.ru




Переопределение методов Ruby




В подклассе мы можем переопределить поведение метода суперкласса его переопределением.


ruby> class Human

| def identify

| print "I′m a person.\n"

| end

| def train_toll(age)

| if age < 12

| print "Reduced fare.\n";

| else

| print "Normal fare.\n";

| end

| end

| end

nil

ruby> Human.new.identify

I′m a person.

nil

ruby> class Student1<Human

| def identify

| print "I′m a student.\n"

| end

| end

nil

ruby> Student1.new.identify

I′m a student.

nil

Предположим, мы хотим расширить метод identify суперкласса вместо его полной замены. . Для этого используется super.



ruby> class Student2<Human

| def identify

| super

| print "I′m a student too.\n"

| end

| end

nil

ruby> Student2.new.identify

I′m a human.

I′m a student too.

nil

super позволяет передавать аргументы первоначальному методу. Иногда говорят, что существуют два типа людей...



ruby> class Dishonest<Human

| def train_toll(age)

| super(11) # we want a cheap fare.

| end

| end

nil

ruby> Dishonest.new.train_toll(25)

Reduced fare.

nil



ruby> class Honest<Human

| def train_toll(age)

| super(age) # pass the argument we were given

| end

| end

nil

ruby> Honest.new.train_toll(25)

Normal fare.

nil

Источник: www.opennet.ru
К началу статьи





Добавил: MadvEXДата публикации: 2007-10-09 08:46:49
Рейтинг статьи:3.11 [Голосов 9]Кол-во просмотров: 3431

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какую P2P-сеть предпочитаете?
Kazaa
6% (7)
Shareaza
2% (3)
Ml'Donkey
9% (11)
BitTorrent
21% (27)
Другой
8% (10)
А что такое P2P?
21% (27)
Ничем не пользуюсь
28% (35)
Ненавижу P2P!!!
6% (7)

Проголосовало: 127
Из воспоминай системного администратора. "Все что я помню об этой девушке, это ее IP-адрес..."
Рейтинг: 1/10 (1)
Посмотреть все анекдоты

 
eXcode.ru » Статьи » Ruby