<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: lua наследование]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме lua наследование форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 25 Apr 2026 13:55:02 +0300</pubDate>
		<item>
			<title>lua наследование</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message33229/topic3953/">lua наследование</a></b> <i>lua ооп</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="https://habr.com/post/182018/" target="_blank" rel="nofollow">https://habr.com/post/182018/</a></noindex> <br />
			<i>16.09.2018 15:33:05, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message33229/topic3953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message33229/topic3953/</guid>
			<pubDate>Sun, 16 Sep 2018 15:33:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>lua наследование</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message33189/topic3953/">lua наследование</a></b> <i>lua ооп</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Спасибо большое за ссылку Уважаемый Николай.<br />Долго ломал голову, Как сделать правильное наследования от класса. Получилось так.<br />car = {} --создадим &quot;класс&quot; автомобиль <br />function car:set(model) --инициализируем поля класса <br />local obj = {} <br />obj.model = model &nbsp;<br />setmetatable(obj,self) &nbsp;<br />self.__index = self --перед <br />return obj -- возвращаем объект! <br />end &nbsp; <br />function car:get(obj) &nbsp;<br />return self.model <br />end <br />moto = {} -- класс мото <br />function moto:pet() --переназначение метода <br />return &quot;new&quot; <br />end <br />setmetatable(moto,{__index = car}) --наследуемся <br />m = moto:set(&quot;VAZ&quot;) --меняем название &nbsp;<br />print(m:get()) --&gt;мы увидим VAZ<br />print(m:pet()) --&gt; new<br /><br />Теперь интересует Как избавиться от двоеточие при объявление экземпляра класса?.<br />Помню как-то достигал.<br />вот здесь<br />local car &nbsp;= {} -- Прежде чем создавать экземпляры объекта, необходимо описать соответствующий ему класс.<br />car.__index = car &nbsp;--__index содержит указатель на сам класс. Это нужно будет для правильной работы оператора self<br />function car.set(model, color) --Создает экземпляр теперь уже объекта, описывает поля объекта и присваивает полям начальные значения.<br /> &nbsp;local self = setmetatable({}, car) --Переопределяет метатаблицу вновь созданного объекта, в результате чего объект получает доступ к методам класса. Методов пока нет, но они будут описаны позже.<br /> &nbsp; &nbsp;self.color = color<br /> &nbsp; &nbsp;self.model = model<br /> &nbsp;return self<br />end<br />function car.get_color(self)<br /> &nbsp;z = self.color<br /> return z <br />end<br />function car.get_model(self)<br /> &nbsp;z = self.model<br /> return z <br />end<br />local i = car.set(&quot;kia&quot;,&quot;black&quot;) -- ставим точку <br />print(i:get_model()) <br />
			<i>11.09.2018 20:48:07, Егор.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message33189/topic3953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message33189/topic3953/</guid>
			<pubDate>Tue, 11 Sep 2018 20:48:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>lua наследование</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message33187/topic3953/">lua наследование</a></b> <i>lua ооп</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="https://habr.com/post/259265/" target="_blank" rel="nofollow">https://habr.com/post/259265/</a></noindex> <br />
			<i>11.09.2018 17:59:52, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message33187/topic3953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message33187/topic3953/</guid>
			<pubDate>Tue, 11 Sep 2018 17:59:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>lua наследование</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message33173/topic3953/">lua наследование</a></b> <i>lua ооп</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Подскажите пожалуйста, как наследовать класс? Не получается выдаёт ошибку<br /><br />
====code====
<pre>
local car&nbsp;&nbsp;= {} -- Прежде чем создавать экземпляры объекта, необходимо описать соответствующий ему класс.
car.__index = car&nbsp;&nbsp;--__index содержит указатель на сам класс. Это нужно будет для правильной работы оператора self
function car:set(model, color) --инициализируем поля класса
local self = setmetatable({},car) --далее идет превращение таблицы в "класс", объяснять не буду, т.к для этого нужна отдельная статья 
self.model = model -- 
self.color = color --&nbsp;&nbsp;
return self
end 
function car:get() --функция получения результата 
return self.model, self.color 
end 
moto = {} -- инициализируем класс мото 
function moto:pet() --переназначение метода 
return "new" 
end 
setmetatable(moto,{__index = car}) --наследуемся 
m = moto.set("URAL","BLUE") --меняем название и цвет 
print(m:get()) --&#62;мы увидим 2000 year 
print(m:pet()) --&#62; URAL BLUE 


</pre>
============= <br />
			<i>10.09.2018 19:57:43, Егор.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message33173/topic3953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message33173/topic3953/</guid>
			<pubDate>Mon, 10 Sep 2018 19:57:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
