а ты знаешь, что fpc умеет в objc нативно?
0iStalker
> Не нравится мне, когда делают ООП в рантайме, с передачей сигнатур сигналов текстовыми строками, нельзя такое признать надёжным.
objc не делает ООП в рантаеме. Например объявить новый класс в рантайме нельзя.
вызов функции (в терминах objc - "передача сообщения"), да это можно.
ну а вне objс такое же делается на указателях на функции.
т.е. рантайм objs, это скорее RTTI.
monobogdan
Зайдем с другой стороны .... Стоит овчинка выделки ? Слышал такое ?
skalogryz
В динамик ООП можно не только новый класс .. Можно и порядок наследования менять в рантайме ... Такая веселуха бывает
innuendo
> В динамик ООП можно не только новый класс .. Можно и порядок наследования менять в рантайме ... Такая веселуха бывает
и как поменять порядок наследования в ранайтме objc?
ссылочка на доки, если что.
skalogryz
Так я же про смоллтолк клос и др
innuendo
> Можно и порядок наследования менять в рантайме ... Такая веселуха бывает
>>> class A: ... def __init__(self, name): ... self.name = name ... def __repr__(self): ... return f"Hello, i'm {self.name}. an object of class A" ... >>> class B: ... def __init__(self, name): ... self.name = name ... def __repr__(self): ... return f"Hello, i'm {self.name}. an object of class B" ... >>> a = A('Vasya Pupkin') >>> print(a) Hello, i'm Vasya Pupkin. an object of class A >>> a.__class__ = B >>> print(a) Hello, i'm Vasya Pupkin. an object of class B >>>
Dmitry_Milk
Добавить переменную в класс в рантайме?
innuendo, если ты про пример выше - там объект класса A в рантайме превратился в объект класса B. То есть, сохранил все свои поля (конкретно поле name), но перестал вести себя как A, а стал вести себя как B.
Dmitry_Milk
Просто поменялась втм:)
Забудь про обж-с, если нет прямой необходимости. Язык, можно сказать, deprecated.
Swift уже давно умеет всё то же самое, но больше и лучше.
pahaa
Яблоко в курсе ?
Жаль выбросили Cabron с обжпас подходом к системе. Неплох был.
monobogdan
Так это же козел по-испански ...
monobogdan
Да, карбон бы хорош.
Сейчас все хочу портировать движок на макос, правда тянуть SDL как в случае с линуксом не хочу, возьму опенал для тридэ звука и карбон вместо Cocoa, потому что хочу чтобы работало и на PowerPC (и не очень люблю Cocoa). Плюс если надумаю портировать на iBook G3 Clamshell - смогу запустить на MacOS 9.