Какое из свойств связано с соединением полей методов

А. TYPE

Б. UNIT

С. PROGRAM

Д. USES

Е. LABEL

424. Какое из имен используется для задания заголовков процедур и функций? -2

А. INTERFACE

Б. LABEL

С. IMPLEMENTATION

Д. USES

Е. VAR

425. Какое из имен используется для задания текста процедур, функций, методов? -2

А. IMPLEMENTATION

Б. LABEL

С. INTERFACE

Д. VAR

Е. USES

426.Какое из имен используется для задания переменных? -1

А. VAR

Б. LABEL

С. INTERFACE

Д. IMPLEMENTATION

Е. CONST

Какая из операций используется для обозначения директивы компилятора? -2

А. {$

Б. DIV

С. MOD

Д. ^

Е. DİR

Какая из операций используется для обозначения указателя? -1

А. ^

Б. DIV

С. MOD

Д. {$

Е. PNT

Какое из названий обозначает завершение работы динамических методов объекта?

А. destructor

Б. property

С. virtual

Д. constructor

Е. destact

Какое из названий обозначает общедоступные элементы объекта? -2

А. public

Б. published

С. protected

Д. general

Е. private

Какое из названий обозначает доступные только в модуле элементы класса? -3

А. private

Б. public

С. published

Д. protected

Е. modul

Какая из процедур использует полное имя файла? -3

А. AssignFile

Б. Reset

С.FilleName

Д. Append

Е. Rewrite

Какая из процедур используется для открытия файла для чтения из него? -3

А. Reset

Б. Rewrite

С. AssignFile

Д. Append

Е.OpenRead

Какая из процедур используется только для текстовых файлов? -3

А. Append

Б. AssignFile

С. Reset

Д. Close

Е. Rewrite

Какая из процедур стирает старый файл? -2

А. Rewrite

Б. Delete

С. Reset

Д. Append

Е. AssignFile

Какая из операций обозначает получение адреса? -2

А. @

Б. +

С. ^

Д. *

Е. $

Какая из операций не используется для работы с динамической памятью?

А. *

Б. @

С. +

Д. ^

Е. $

Какая из команд описывает файловую переменную типизированного файла? -3

А. F: File of real;

Б. F: File;

С. F: TextFile;

Д. F: FileText;

Е. F: FileType;

Какая из команд описывает файловую переменную не типизированного файла? -1

А. F: File;

Б. F: File of real;

С. F: FileType;

Д. F: FileText;

Е. F: TextFile;

Какая из команд описывает файловую переменную текстового файла? -1

А. F: TextFile;

Б. F: File;

С. F: File of real;

Д. F: FileText;

Е. нет правильного ответа

Какая из команд описывает переменную, которая не является файловой? -2

А. F: FileText;

Б. F: File of real;

С. F: File;

Д. F: TextFile;

Е. F: FileType;

442. Освобождает память в определенное количество байт, начиная с определенного адреса, записанного в указателе Р …-3

А. FreeMem(var P: Pointer; Size: Word);

Б. New(var P: Pointer);

С. Dispose(var P: Pointer);

Д. GetMem(var P: Pointer; Size: Word);

Е. PutMem(var P: Pointer; Size: Word);

Какая из функций определяет конец строки? -1

А. EOLN

Б. EOF

С. RESET

Д. SEEK

Е.ENRSTR

Какая из процедур открывает файл? -1

А. RESET

Б. EOF

С. EOLN

Д. SEEK

Е.OPEN

Какая из процедур находит запись нужного номера в файле? -1

А. SEEK

Б. EOF

С. RESET

Д. EOLN

Е.FRECORD

Какой из классов Delphi работает с файлами? -2

А. TStream

Б. TList

С. TCanvas

Д. TPoint

Е. TFile

Какой из классов Delphi работает с изображением?

А. TCanvas

Б. TPicture

С. TStream

Д. TList

Е. TPoint

Какое из свойств ООП понятие «родитель»? -2

А. Наследование

Б. Инкапсуляция

С. Полиморфизм

Д. Предки

Е. Визуальность

В какой из областей класса элементы недоступны для потомков вне данного модуля? -2

А. private

Б. public

С. uses

Д. published

Е. protected

Какой из терминов обозначает события объекта? -3

А. Events

Б. Canvas

С. Caption

Д. Enabled

Е.Disabled

Какое из свойств связано с соединением полей, методов и свойств в одном объекте? -2

А. Инкапсуляция

Б. Наследование

С. Метод

Д. Полиморфизм

Е. Визуальность

Какое из названий обозначает создание объекта данного класса? -2

А. constructor

Б. property

С. overload

Д. destructor

Е. new

Динамическая структура, которая имеет две основные операции: добавление в «хвост» и извлечение из «головы» является -3

А. очередью

Б. стеком

С. списком

Д. деком

Е. файлом

Динамическая структура, которая имеет одну точку доступа к его элементам («голова»), называется -3

А. стеком

Б. очередью

С. списком

Д. деком

Е. файлом

Упорядоченная динамическая структура, каждый элемент которой содержит ссылку, связывающую его со следующим элементом, называется -3

А. списком

Б. очередью

С. стеком

Д. файлом

Е. деком

456. Динамическая процедура, которая отводит место для хранения динамической переменной P^ присваивает её адрес ссылке Р -2

А. New(var P: Pointer);

Б. Dispose(var P: Pointer);

С. GetMem(var P: Pointer; Size: Word);

Д. PutMem(var P: Pointer; Size: Word);

Е. FreeMem(var P: Pointer; Size: Word);

Источник

1. Какой из предложенных вариантов записи абстрактного класса в С ++ является правильным:
а) class A {virtual int f () = 0;} +
б) abstract class A {virtual int f () = 0;}
в) class A {virtual int f () = 0;} abstract

Читайте также:  Неметаллические свойства это какие

2. Выберите верное утверждение о деструкторе класса в С ++:
а) Деструктор принимает в качестве параметра адрес того объекта, который нужно уничтожить
б) Деструктор не содержит параметров +
в) Деструктор принимает в качестве параметра указатель this

3. Свойство, при котором объекты содержат описание атрибутов и действий одновременно:
а) Наследование
б) Полиморфизм
в) Инкапсуляция +

4. Один из принципов объектно-ориентированного программирования:
а) Инкапсуляция +
б) Ингаляция
в) Инструкция

5. Один из принципов объектно-ориентированного программирования:
а) Отдача
б) Передача
в) Наследование +

6. Один из принципов объектно-ориентированного программирования:
а) Абстракционизм
б) Полиморфизм +
в) Монорфизм

7. Метод определения объектов, при котором производные объекты наследуют свойства от своих потомков:
а) Монорфизм
б) Полиморфизм
в) Наследование +

8. Свойство объектов, при котором действие с одинаковыми именами вызывает различное поведение для различных объектов:
а) Полиморфизм +
б) Передача
в) Монорфизм

9. Данные, характеризующие состояние объекта:
а) Доли объекта
б) Части объекта
в) Атрибуты объекта +

10. Под объектами понимают:
а) Всю абстрактную сущность, заданную набором имен атрибутов и имен методов поведения
б) Некоторую абстрактную сущность, заданную набором имен атрибутов и имен методов поведения +
в) Некоторую видимую сущность, заданную набором имен атрибутов и имен методов поведения

11. Совокупность объектов, характеризующаяся общностью методов и свойств:
а) Класс +
б) Вид
в) Род

12. Изменение состояния объекта в ответ на какое-либо действие:
а) Значение
б) Событие +
в) Данность

13. Действие, которое может выполнить объект:
а) Метод +
б) Событие
в) Свойство

14. Характеристика объекта:
а) Событие
б) Данность
в) Свойство +

15. Совокупность свойств и методов:
а) Объект +
б) Свойство
в) Событие

16. Тип, соответствующий классу:
а) Объективный тип
б) Объектный тип +
в) Видимый тип

17. Компоненты, которые видны во время работы приложения, с ними напрямую может взаимодействовать пользователь, называются:
а) Абстрактными
б) Видимыми
в) Визуальными +

18. Все объекты в Delphi происходят от объекта:
а) МObject
б) TObject +
в) ВObject

19. Свойство Align отвечает за:
а) Уменьшение компонента на форме
б) Увеличение компонента на форме
в) Выравнивание компонента на форме +

20. Свойство Caption отвечает за:
а) Назначение компонента на форме
б) Название компонента на форме +
в) Вид компонента на форме

21. Укажите правильное использование оператора friend:
а) class A {public: friend int Н :: CountPass (); private: short i;} +
б) class A {public: friend int Н :: q; short i;}
в) class A {public: int A1 :: CountPass (); friend: short i;}

22. Какая функция, не будучи компонентом класса, имеет доступ к его защищенным и внутренних компонентов:
а) Статическая
б) Дружеская +
в) Шаблонная

23. Какой из перечисленных методов может быть конструктором для класса String в языке С ++:
а) void String ()
б) String * String ()
в) String (String & s) +

24. Отметьте правильное утверждение для абстрактного класса для языка С ++:
а) Абстрактный базовый класс навязывает определенный интерфейс всем производным из него классам
б) Невозможно создать объект абстрактного класса +
в) В абстрактном классе не описываются методы вообще

25. Какая из перечисленных функций не может быть конструктором:
а) String (const int a)
б) String (String & s)
в) void String () +

26. Свойство Name отвечает за:
а) Название компонента
б) Имя компонента +
в) Назначение компонента

27. Имя формы, используется для управления формой и доступа к компонентам формы:
а) Свойство формы Name +
б) Значение формы Name
в) Следствие формы Name

28. Расстояние от верхней границы формы до верхней границы экрана:
а) Значение формы Тор
б) Следствие формы Тор
в) Свойство формы Тор +

29. Этот компонент предназначен для вывода текста на поверхность формы:
а) Label +
б) Edit
в) Button

30. Компонент, представляющий собой поле ввода-редактирования строки символов:
а) Memo
б) Edit +
в) CheckBox

Источник

Поля класса являются переменными, объявленными внутри класса. Они предназначены для хранения данных во время работы экземпляра класса (объекта). Ограничений на тип полей в классе не предусмотрено. В описании класса поля должны предшествовать методам и свойствам. Обычно по-

ля используются для обеспечения выполнения операций внутри класса.

При объявлении имен полей принято к названию добавлять заглавную букву F.Например FSomeField.

Итак, поля предназначены для использования внутри класса. Однако класс должен каким-либо образом взаимодействовать с другими классами или программными элементами приложения. В подавляющем большинстве случаев класс должен выполнить с некоторыми данными определенные действия и представить результат.

Для полученияи передачи данных в классе применяются свойства. Для объявления свойств в классе используется зарезервированное слово property.

Свойства представляют собой атрибуты, которые составляют индивидуальность объекта и помогают описать его. Например, обычная кнопка в окне приложения обладает такими свойствами, как цвет, размеры, положение. Для экземпляра класса «кнопка» значения этих атрибутов задаются при по-

мощи свойств — специальных переменных, определяемых ключевым словом property. Цвет может задаваться свойством color, размеры — свойствами Width И Height и т.д.

Так как свойство обеспечивает обмен данными с внешней средой, то для доступа к его значению используются специальные методы класса. Поэтому обычно свойство определяется тремя элементами: полем и двумя методами,которые осуществляют его чтение/запись:

Читайте также:  Какими свойствами должна обладать сталь для изготовления пружины

type

TAnObject = class(TObject)

function GetColor: TSomeType;

procedure SetColor(ANewValue: TSomeType);

property AColor: TSomeType read GetColor write SetColor;

end;

В данном примере доступ к значению свойства AColor осуществляется через вызовы методов GetColor и SetColor. Однако в обращении к этим методам в явном виде нет необходимости: достаточно написать:

AnObject.AColor := AValue;

AVariable := AnObject.AColor;

и компилятор самостоятельно оттранслирует обращение к свойству AColor в вызовы методов Getcoior или Setcoior. To есть внешне свойство выглядит в точности как обычное поле, но за всяким обращением к нему могут стоять нужные вам действия. Например, если у вас есть объект, представляющий собой квадрат на экране, и его свойству «цвет» вы присваиваете значение «белый», то произойдет немедленная перерисовка, приводящая реальный цвет на экране в соответствие со значением свойства. Выполнение этой операции осуществляется методом, который связан с установкой значения свойства «цвет».В методах, входящих в состав свойств, может осуществляться проверка устанавливаемой величины на попадание в допустимый диапазон значений и вызов других процедур, зависящих от вносимых изменений. Если же потребности в специальных процедурах чтения и/или записи нет, можно вместо имен методов применять имена полей. Рассмотрим следующую конст-

рукцию:

TPropObject = class(TObject)

FValue: TSomeType;

procedure DoSomething;

function Correct(AValue: Integer):boolean;

procedure SetValue(NewValue: Integer);

property AValue: Integer read FValue write SetValue;

end;

procedure TPropObject.SetValue(NewValue: Integer);

begin

if (NewValueOFValue) and Correct (NewValue) then FValue := NewValue;

DoSomething;

end;

В этом примере чтение значения свойства AValue означает просто чтение поля F/aiue. Зато при присвоении значения внутри SetValue вызывается сразу два метода.Если свойство должно только читаться или записываться, в его описании может присутствовать соответствующий метод:

type

TAnObject = class(TObject)

property AProperty: TSomeType read GetValue;

end;

В этом примере вне объекта значение свойства можно лишь прочитать; попытка присвоить свойству AProperty значение вызовет ошибку компиляции.

Для присвоения свойству значения по умолчанию используется ключевое СЛОВО default:

property Visible: boolean read FVisible write SetVisible default True;

Это означает, что при запуске программы свойство будет установлено компилятором В True.

Свойство может быть и векторным; в этом случае оно внешне выглядит как массив:

property APoints[Index : Integer]:TPoint read GetPoint write SetPoint;

На самом деле в классе может и не быть соответствующего поля — массива. Напомним, что вся обработка обращений к внутренним структурам класса может быть замаскирована.Для векторного свойства необходимо описать не только тип элементов массива, но также имя и тип индекса. После ключевых слов read и write в этом случае должны стоять имена методов — использование здесь полей массивов недопустимо. Метод, читающий значение векторного свойства, должен быть описан как функция, возвращающая значение того же типа, что и элементы свойства, и имеющая единственный параметр того же типа и с тем же именем, что и индекс свойства:

function GetPoint(Index:Integer):TPoint;

Аналогично, метод, помещающий значения в такое свойство, должен первым параметром иметь индекс, а вторым — переменную нужного типа (которая может быть передана как по ссылке, так и по значению):

procedure SetPoint(Index:Integer; NewPoint:TPoint);

У векторных свойств есть еще одна важная особенность. Некоторые классы в Delphi (списки TList, наборы строк TStrings) «построены» вокруг основного векторного свойства (см. гл. 7). Основной метод такого класса дает доступ к некоторому массиву, а все остальные методы являются как бы вспомогательными. Специально для облегчения работы в этом случае векторное свойство может быть описано с ключевым словом default:

type

TMyObject = class;

property Strings[Index: Integer]: string read Get write Put; default;

end;

Если у объекта есть такое свойство, то можно его не упоминать, а ставить индекс в квадратных скобках сразу после имени объекта:

var AMyObject: TMyObject;

begin

AMyObject.Strings[1] := ‘ F i r s t 1 ; {первый способ}

AMyObj ect[2] := ‘Second’; {второй способ}

end.

Будьте внимательны, применяя зарезервированное слово default, — как мы увидели, для обычных и векторных свойств оноупотребляется в разных случаях и с различным синтаксисом.О роли свойств в Delphi красноречиво говорит следующий факт: у всех имеющихся в распоряжении программиста стандартных классов 100% полей недоступны и заменены базирующимися на них свойствами. Рекомендуем при разработке собственных классов придерживаться этого же правила. Внимательный читатель обратил внимание, что при объяснении терминов «поле» и «свойство» мы использовали понятие метода, и наверняка понял его общий смысл. Итак, методом называется объявленная в классе функция или процедура, которая используется для работы с полями и свойствами класса. Согласно принципам ООП (см. разд. «Инкапсуляция» далее в этой главе), обращаться к свойствам класса можно только через его методы. От обычных процедур и функций методы отличаются тем, что им при вызове

передается указатель на тот объект, который их вызвал. Поэтому обрабатываться будут данные именно того объекта, который вызвал метод. На некоторых особенностях использования методов мы остановимся ниже.

Источник

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

При применении свойств

  • можно задать значение по умолчанию, которое будет храниться в данном свойстве (или указать, что никакого значения по умолчанию не предполагается);
  • можно указать, что это свойство только для чтения.

Как правило, свойство связано с некоторым внутренним полем объекта. Но свойству вообще может не быть сопоставлена ни одна переменная объекта, хотя пользователь данного объекта имеет дело с ним так, как если бы это было настоящее поле.

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

Методы свойств[править | править код]

Во многих языках программирования свойства реализуются в виде пары методов: метод, получающий текущее значение свойства, называется акцессор (accessor); метод, задающий новое значение свойства, — мутатор (mutator).[источник не указан 1509 дней] В языках программирования, не поддерживающих свойства, например, C++ и Java, пара из акцессора и мутатора является общепринятым суррогатом для их замены.

Принято называть методы свойств именем свойства с приставками get и set: например, для свойства Xyzzy — get_Xyzzy и set_Xyzzy (традиционный стиль Си) либо GetXyzzy и SetXyzzy (стиль CamelCase). В связи с этой схемой наименования за методами свойств закрепились жаргонные названия getter и setter.

Примеры[править | править код]

Свойства в C#[править | править код]

Свойства в C# — поля с логическим блоком, в котором есть ключевые слова get и set.

Пример класса со свойством:

class MyClass
{
private int p_field;
public int Field
{
get
{
return p_field;
}
private set
{
p_field = value;
}
}
}

Свойства в VB.NET[править | править код]

Пример реализации в VB.NET. Если нужно реализовать свойство только для чтения или только для записи, применяются модификаторы ReadOnly и WriteOnly. Свойство может быть параметризованным. Также может быть свойством по умолчанию, для этого необходимо добавить модификатор Default

Sub Main
Dim F As New Foo

F.Data = 5
F.Item(0) = 5
F(0) = 5 ‘Запись в свойство
Console.WriteLine(F(0)) ‘Чтение свойства
End Sub

Public Class Foo
Private m_Data As Integer
Private m_Arr() As Integer = {1, 2, 3, 4, 5}

Public Property Data As Integer
Set(Value As Integer) ‘Сеттер
m_Data = Value
End Set
Get
Return m_Data ‘Геттер
End Get
End Property

Public Default Property Item(Param As Integer) As Integer ‘Параметризованное свойство по умолчанию
Set(Value As Integer)
m_Arr(Param) = Value
End Set
Get
Return m_Arr(Param)
End Get
End Property
End Class

Свойства в Delphi[править | править код]

Для описания свойства в Delphi служит слово property.

Пример класса со свойством:

TMyClass = class
private
FMyField: Integer;
procedure SetMyField(const Value: Integer);
function GetMyField: Integer;
public
property MyField: Integer read GetMyField write SetMyField;
end;

function TMyClass.GetMyField: Integer;
begin
Result := FMyField;
end;

procedure TMyClass.SetMyField(const Value: Integer);
begin
FMyField := Value;
end;

Свойства в ActionScript[править | править код]

class MyClass
{
private _foo : int;

public function get foo () : int {
return _foo;
}
public function set foo (foo : int) : void {
_foo = foo;
}

}

Свойства в Objective C[править | править код]

@interface Company : NSObject
{
NSString *var_name;
}

@property(retain) NSString *var_name;

@end

@implementation Company

@synthesize var_name;

@end

Свойства в Ruby[править | править код]

Описания свойства в Ruby ничем не отличается от описания метода. Например, для создания свойства duration у класса Song нужно описать методы duration и duration=(value)

class Song
def duration
@duration
end
def duration=(value)
@duration = value
end
end

Однако простое обращение к внутренней переменной объекта может быть заменено на вызов метода attr_accessor :duration

class Song
attr_accessor :duration
end

Более интересным будет пример создания свойства duration_in_minutes, которое будет возвращать или устанавливать время длительности в минутах:

class Song
def duration_in_minutes
@duration/60.0
end
def duration_in_minutes=(value)
@duration = (value*60).to_i
end
end

При этом изменение свойства duration_in_minutes повлияет на свойство duration. Например

song = Song.new
song.duration_in_minutes = 1.2
print song.duration # напечатает 72

Свойства в Python[править | править код]

Набор методов с декораторами определяет способы работы со свойством (чтение, запись, удаление). Если какой-то из методов убрать (за исключением @property), теряется возможность работать со свойством соответствующим образом.

Пример класса со свойством:

class A:
def __init__(self):
self.__x = None

@property
def x(self):
return self.__x

@x.setter
def x(self, value):
self.__x = value

@x.deleter
def x(self):
self.__x = None

>>> a = A()
>>> a.x
>>> a.x = 2
>>> a.x
2
>>> del a.x
>>> a.x
>>>

См. также[править | править код]

  • Событие
  • Метод

Источник