Возможность многократного использования (или отсутствие его) не связывается ни с какой определенной парадигмой программирования. Используйте объектно-ориентированный, процедурный, функциональный или любое другое программирование по мере необходимости. Организация и возможность многократного использования происходят из того, что Вы делаете, не из инструмента.
Нет, это не поддерживается в C ++. Единственное, что делает спецификатор static
в .NET, - это заставляет вас сделать все члены класса статическими; это просто вспомогательное ключевое слово. Чтобы написать статический класс на C ++, все, что вам нужно сделать, это убедиться, что каждый член в классе отмечен как static
. (Edit: и закрытый конструктор, поэтому ваш "статический" класс не может быть создан.)
Если вы используете C ++ / CLI, фактический синтаксис для static
будет
ref class Foo abstract sealed /* abstract sealed = C# static */
{
};
from PyZenity import InfoMessage
InfoMessage('Stuff')
Я тестировал PyZenity как в Ubuntu, так и в Windows XP, и он работает в обоих.
Я читал, что Zenity - это только GTK +, но я пробовал его в Gnome и KDE, и он выглядит нативно в обоих. Однако перенос в Windows не выглядит родным, поскольку в нем используется неправильная тема GTK?
Существуют также другие программы, такие как KDialog и Xdialog , которые могут быть связаны с аналогичным Веб-интерфейс Python, который может проверять и видеть, какие исполняемые файлы доступны, чтобы автоматически обо всем позаботиться? (Для KDialog также существует внешний интерфейс Ruby.)
Я также не знаю, работает ли PyZenity под OS X.
потому что он использует неправильную тему GTK?Существуют также другие программы, такие как KDialog и Xdialog , которые могут быть связаны с аналогичным интерфейсом Python, который может проверять и видеть, какие исполняемые файлы доступны чтобы он обо всем автоматически позаботился? (Для KDialog также существует внешний интерфейс Ruby.)
Я также не знаю, работает ли PyZenity под OS X.
потому что он использует неправильную тему GTK?Существуют также другие программы, такие как KDialog и Xdialog , которые могут быть связаны с аналогичным интерфейсом Python, который может проверять и видеть, какие исполняемые файлы доступны чтобы он обо всем позаботился автоматически? (Для KDialog также существует внешний интерфейс Ruby.)
Я также не знаю, работает ли PyZenity под OS X.
static
виден только в файле, в котором он определен. Этот синтаксис недоступен в классах (только методы и переменные), но аналогичный эффект может быть получен для классов, использующих анонимное пространство имен:
namespace{
class Foo{};
};
Нет, статический
предназначен для объектов и функций.
Как упоминается в следующем потоке, C ++ не поддерживает статический класс.
Если вы имеете в виду класс без общедоступного конструктора и только статические переменные, вы можете прочитать этот поток.
Ближайшим эквивалентом статического класса в C ++ является класс, содержащий только статические переменные-члены. Это известно как паттерн моносостояние . Такой класс означает, что все экземпляры этого класса будут иметь одинаковое состояние. Синтаксис использования экземпляра моносостояния аналогичен синтаксису обычного класса (в отличие от класса-одиночки), и действительно, класс моносостояния может быть преобразован в обычный класс без изменения любого из его использования. Например,
// Monostate class
public class Administrator
{
private:
static int _userId;
public
int UserId() { return _userId; }
}
// Initializing the monostate value
int Administrator::_userId = 42;
// Using an instance of a monostate class
void Foo()
{
Administrator admin = new Administrator();
Assert.Equals( 42, admin.UserId() ); // will always be 42
}