История развития проводных каналов связи

Автор работы: Пользователь скрыл имя, 10 Апреля 2014 в 15:55, реферат

Краткое описание

В свою очередь объем передаваемой информации определяется полосой пропускания. Установлено, что достижимая скорость передачи информации тем выше, чем выше частота колебаний электрического тока или радиоволны. Для того, чтобы передать в закодированном виде любую букву алфавита, необходимо использовать 7–8 битов. Таким образом, если для передачи текста применять проводную связь с частотой 20 кГц, то стандартную книгу в 400–500 страниц можно будет передать примерно за 1,5–2 часа. При передаче по линии с частотой 32 МГц та же процедура потребует лишь 2–3 секунды .

Вложенные файлы: 1 файл

история развития проводных каналов связи.docx

— 61.61 Кб (Скачать файл)

  q1 := t1.create(9); { конструируем объект(t1 - имя класса) }

  writeln (q1.InstanceSize);  { вывод размера экземпляра класса }

  q1.Free; { уничтожение объекта }

  q1 := nil; { чтобы не происходило повторного вызова деструктора при вызове free }

В модификации ObjectPascal/Delphi/FreePascal в описании классов появляются свойства (property), которые совмещают удобство работы с переменными (роль которых в ООП играют поля) и вызовы методов, которые всегда уведомляют объект об изменении его состояния:

type

  TMyObj=class(TObject)

    FProp:integer;

    procedure SetProp(AValue:integer);

    property MyProp:integer read FProp write SetProp;

  end;

  procedure TMyObj.SetProp(AValue:integer);

  begin

    FProp:=AValue;

    Writeln('Somebody has changed MyProp!');

  end;

var MyObj:TMyObj;

begin

  MyObj:=TMyObj.Create;

  MyObj.FProp:=5;

  MyObj.MyProp:=MyObj.MyProp+6;

end.

В первом случае (использование MyObj.FProp) поле объекта было изменено непосредственно, в итоге, методы объекта не будут подозревать, что это поле было ранее изменено; в более сложном случае они могут полагаться на то, что поле неизменно, либо же полю может быть присвоено значение, недопустимое для данного объекта. Во втором случае значение присваивается непосредственно свойству объекта, которое ссылается на вызов метода, корректно обрабатывающего изменение данного поля.

Этот подход удобен, если объект связан с визуальным элементом: непосредственное изменение поля, отвечающего, например, за ширину элемента, никак не отразится на самом визуальном элементе, а объект будет «дезинформирован» относительно реальных размеров элемента. Корректным подходом без использования свойств является разработка методов на получение и установку любого значения поля, но работа с такими методами будет менее удобна, например, вместо последней строки надо было бы написать

   MyObj.SetProp(MyObj.GetProp+6);

причём метод MyObj.GetProp следовало бы написать для унификации доступа.

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

Тем не менее, свойства не являются «панацеей»: при компиляции обращение к свойствам непосредственно транслируются в вызов методов или прямую работу с полями, поэтому настоящими переменными свойства не являются, в частности, их невозможно передавать в виде var-параметров.

 


Информация о работе История развития проводных каналов связи