Re[5]: Объясняем наследование
От: UA Украина  
Дата: 30.10.14 17:21
Оценка:
UA>>"Нативные" переполнены, "не нативные" не переполнены.

AG>Что в твоем, уважаемый UA, понимании "нативные"/"не-нативные"?

"Нативные" используют встроенные возможности операционной системы для построения GUI (например WinAPI) и пользуются как правило встроенной системой сообщений (WndProc).
"Не нативные" эмудируют gui под каждой осью и сами отвечают за обработку gui сообщений.

AG>Вот взять, например, тот же MFC — нативная библиотека? А тот же VCL?

Обе нативные. Так как плотно используют WinAPI для построения окон и обработки сообщений.
QT — не нативная. wxWidgets — нативная.

AG>А что, например, насчет .NET?

WinForms — нативная.

AG>P.S. Если, к примеру, взять объект "кнопка", то у него, по логике ООП, должен быть метод "нажать" (кликнуть), но из-за особенностий ОС, этот метод реализуется (по крайней мере в MFC) в виде события.

AG>В результате, для студентов такой пример, ИМХО, не является лучшей демонстрацией ООП

Это обычно проблема нативных gui, хотя никто не мешает сэмулировать нажатие через метод:
void Button::OnClick(Control* sender, ClickEvent& args)
{
  ::SendMessage(sender->GetHWND(), WM_Click);
}


P.S. Я призываю использовать для обучения "не нативные" gui типа Qt.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.