The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"ООП переопределение метода класса?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"ООП переопределение метода класса?"  
Сообщение от devcoder email(ok) on 15-Май-07, 16:02 
есть ли и как называется в ООП такой прием:

class A {
  metod func1
}


нужно переопределить A.func1
чтобы при вызове A.func1 выполнялся некий код,
а уже потом, по условию возможно оригинальный func1

интересен набросок/шаблон/пример кода на ruby
возможно и с++, python тоже на мысль наведут

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "ООП переопределение метода класса?"  
Сообщение от NuINu (??) on 15-Май-07, 18:01 
>есть ли и как называется в ООП такой прием:
>
>class A {
>  metod func1
>}
>
>
>нужно переопределить A.func1
>чтобы при вызове A.func1 выполнялся некий код,
>а уже потом, по условию возможно оригинальный func1
>
>интересен набросок/шаблон/пример кода на ruby
>возможно и с++, python тоже на мысль наведут

называется перегрузка
class A {
  virtual int func1(void);
}

class B {
  virtual int func1(void);
}

int B::func1(void) {
  A::func1(); можно вызвать метод родителя.
}


A* a; указатель на базовый клас

a = new B(); а создали потомка.
a->func1();  метод из B.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "ООП переопределение метода класса?"  
Сообщение от devcoder email(ok) on 15-Май-07, 20:14 
>называется перегрузка

В ruby, к сожалению, нет overloading, но есть alias

def foo; puts 'foo'; end
alias foo_orig foo
def foo; puts 'bar'; end
foo_orig
foo
#=> foo
#=> bar

Работает ли вне классов с методами классов ещё не проверял

Спасибо

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру