Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lua
Войти
Регистрация
Восстановить пароль
 
WennY
0 / 0 / 1
Регистрация: 01.11.2010
Сообщений: 131
1

Передача аргументов методы в реализации ООП

22.10.2015, 21:25. Просмотров 371. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Пытаюсь изобразить ООП. Как получить доступ к аргументу функции (всегда nil)? Спасибо.

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TestClass = {}
function TestClass:new()
    local public = {}
 
    function public:echo( arg )
        message( arg, 1 )
    end
 
    setmetatable(public,self)
    self.__index = self; return public
end
 
local TestClass = TestClass:new();
TestClass.echo( "123" )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2015, 21:25
Ответы с готовыми решениями:

Как хранятся методы классов в объектном файле? Где найти общепринятый стандарт реализации свойств ООП в машинных кодах?
Собственно, весь вопрос в шапке.

Нужна идея по реализации принципов ООП
Есть программа Калькулятор , написанная на языке С++,выполняющий "...

Объясните некоторые принципы ООП в конкретной реализации
Доброго дня! У меня есть пользователи, которые делятся на зарегистрированных...

Ищу ментора(ов) по ООП (проектированию архитектуры и реализации)
Ни разу не занимался подобным, опыта нет, но хочу его получить. Создал такую...

ООП, методы
Такая проблема. Пишу класс, реализующий множество целых чисел. Число k...

4
ProgJ
87 / 85 / 10
Регистрация: 20.11.2008
Сообщений: 724
23.10.2015, 11:27 2
Вы при объявлении echo использовали двоеточие, а при вызове точку
0
WennY
0 / 0 / 1
Регистрация: 01.11.2010
Сообщений: 131
23.10.2015, 12:24  [ТС] 3
Вы правы.. Если не затруднит, не могли бы вы скинуть ссылку на док, описывающий разницу между объявлениями между точкой и двоеточием?
0
ProgJ
87 / 85 / 10
Регистрация: 20.11.2008
Сообщений: 724
24.10.2015, 11:23 4
Смотрите на http://www.lua.org
a:b(...) это упрощённая запись для a.b(self,...)
0
Avazart
Эксперт С++
7722 / 5631 / 549
Регистрация: 10.12.2010
Сообщений: 25,397
Записей в блоге: 17
29.10.2015, 15:34 5
У меня такой пример:
Код
local TPoint = {}
TPoint.__index = TPoint;

function TPoint.Create(x,y)
  return setmetatable({x=x,y=y}, TPoint);  -- Доступ к мета таблице
end

function TPoint.__add(a, b)   -- событие +
  return Point(a.x+b.x,a.y+b.y);
end

function TPoint.print(self)
  print('['..self.x..':'..self.y..']');
end

local a = TPoint.Create(1,7);

a:print();
0
29.10.2015, 15:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2015, 15:34

Методы в ООП
Всем привет! У меня есть несколько вопросов касающихся методов, и не только:...

Нестандартные запросы методы реализации
Здравствуйте помогите в конструкторе запросов реализовать или вариант кода sql...

Могут ли теоретически существовать методы с неопределенным числом аргументов?
Разумно ли использовать va args в таких ситуациях?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru