Компоненты CheckBox и RadioButton. — КиберПедия 

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Компоненты CheckBox и RadioButton.

2019-08-03 565
Компоненты CheckBox и RadioButton. 0.00 из 5.00 0 оценок
Заказать работу

Компонент управления CheckBox (Флажок) создает ячейку, кот.может быть помечена пользователем, как имеющая знач-ие истина или ложь. Компонент CheckBox выполняет ф-ции аналогичные переключателям, только в отличие от них возможен выбор нескольких вариантов. Кроме свойства Checked у элемента CheckBox имеется свойство CheckState, которое позволяет задать для флажка одно из трех состояний - Checked (отмечен), Indeterminate (флажок не определен - отмечен, но находится в неактивном состоянии) и Unchecked (не отмечен)

Компонент RadioButton использ-ся, как правило, вместе с др.переключателями д/выбора одного варианта из нескольких других вариантов. Чтобы установить у переключателя включенное состояние, надо присвоить его свойству Checked значение true. Компоненты RadioButton объединяются в GroupBox.

 

6. Преобразование числовых типов языка C#. Преобразование числовых типов в строковый тип и значение типа string в числовой тип. Класс Convert. Метод ToString(). Примеры использования.

В программировании нередко знач-ия переменных одного типа присваиваются переменным другого типа. Например, в приведенном фрагменте кода целое знач-ие типа int присваивается переменной с плавающей точкой типа float: int i; float f; i = 10; f = i; //присвоить целое значение переменной типа float

Если в одной операции присваивания смешиваются совместимые типы данных, то значение в правой части оператора присваивания автоматически преобразуется в тип, указанный в левой его части. Поэтому в приведенном выше фрагменте кода значение переменной i сначала преобразуется в тип float, а затем присваивается переменной f.

Для преобразования данных из одного типа в другой есть целый класс с именем Convert, у кот. имеются спец.методы: ToBoolean → bool, ToByte → byte, ToChar → char, ToDouble → double, ToSingle → float, ToInt32 → int, ToInt64 → long, ToString → string.

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

Пример преобразования типа int в string с помощью ToString(): int i =5; string s1 = i.ToString(); string s2 = s1+i.ToString(); // результат s1 = 5; s2 = 55.

Также вопрос 4.

 

Класс-ссылочный тип. Описание класса и создание объекта. Операция доступа к членам класса. Примеры.

Класс в C# - это ссылочный тип. Класс имеет описание, кот.должно быть в отдельном файле. Описание класса начинается со слова "class". Перед этим словом может быть указан уровень доступа класса. Далее идет имя класса: class A {... Членами типов могут быть поля, предназначенные для хранения данных, и методы (ф-ии, члены класса), события, св-ва, события и вложенные типы.

Например:

class Myclass {

public int i; /* слово public обозначает, что данный член класса является общедоступным*/

public float x;

public float f()

{return i*y;}}

Модификаторов доступа для классов есть два:

-      public – доступ к классу возможен из любого места приложения,

-      internal – доступ к классу возможен только из сборки, в которой он объявлен.

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

Поле или член-данное – это переменная, объявленная внутри класса. Метод или функция-член – это функция, объявленная внутри класса.

 

Д/объявления объекта используется след.конструкция: <имя класса> имя переменной = new <имя класса>(); Именем объекта будет ссылка на этот объект. Пр.: Animals cat = new Animals(); Эта строка объявления выполняет 3 функции. Во-1ых, объявляется переменная cat, относящаяся к типу класса Animals. Сама эта переменная не является объектом, а лишь переменной, кот.может ссылаться на объект. Во-2ых, создается конкретная, физическая, копия объекта. Это делается с помощью оператора new. И наконец, переменной cat присваивается ссылка на данный объект. Таким образом, после выполнения строки объявленная переменная cat ссылается на объект типа Animals. Точка - это операция доступа к членам класса (пр.: cat.x =...)

Ключевое слово new означает, что среде выполнения следует вызвать конструктор класса и выделить необходимое количество оперативной памяти под экземпляр класса. Поскольку класс относится к ссылочному типу, то выделении памяти производится из «кучи», находящейся в распоряжении среды выполнения.NET.

Команда newА(), создаст объект, т.е. среда.NET выделит под этот объект память, но такой объект не будет иметь имени и с ним невозможно будет работать. Для того, что бы дать объекту имя нужно создать ссылку. Команда А а; создает ссылку типа А. Ссылка похожа на указатель языка Си++, но она, в отличии от указателя, не может содержать произвольный адрес. При выполнении команды А а; создается ссылка, со значением null, т.е. она содержит некоторый стандартный адрес. При выполнении команды а= newА(); адрес созданного объекта класса записывается в ссылку а и а становится именем созданного объекта. Теперь мы уже можем работать с созданным объектом

Рассмотрим еще один пример:

Myclass c=new Myclass();

Myclass d;

d=c;

В этом примере создан один объект и две ссылки на него.

Пример:

c.x=7; //полю х объекта с присвоено значение 7.

d.i=6; //полю i объекта d присвоено значение 6.

 

Конструктор класса. Особенности класса. Примеры.

Объект превращается в «мусор», если он теряет свое имя, например, из-за того, что ссылка стала указывать на другой объект. Значит, время жизни зависит, прежде всего, от ссылки-имени. Если ссылка объявлена, как локальная переменная, и другого имени объект не приобрел, то он будет локальным.

Например, если команда A a=new A(); записана в обработчике события, то объект а, будет жить, только во время работы этого обработчика.

Если продолжить рассмотрение объектов класса, созданных профессионалами, таких, как кнопка Button, то мы увидим, что при создании этих объектов используются не нулевые значения полей, поскольку кнопки, имеют определенные размеры, цвет и т.д., задается местоположение. Все это позволяют сделать конструкторы классов.

Конструктор класса – это метод класса, который предназначен для создания объектов класса и инициализации их.

Конструктор обладает следующими свойствами:

1.Имя конструктора совпадает с именем класса.

2.Конструктор не имеет возвращаемого значения, даже типа void

3.Класс может содержать несколько конструкторов, отличающихся либо количеством, либо типами параметров, либо и тем и другим вместе.

4.Конструктор без параметров называется конструктором по умолчанию.

5.Если ни один конструктор не был написан программистом, то конструктор по умолчанию генерируется компилятором.

6.Если в классе объявлен хотя бы один конструктор, то компилятор не создает своего.

7.В C#, в отличие от многих других языков, любой конструктор, если не указано иное, обнуляет значения полей.

8.Конструктор не может быть вызван явно, он вызывается автоматически при создании экземпляров класса.

Рассмотрим пример. Определим в классе А два конструктора.

class A { public int x,y;

public int f() {return x*y;}

public A() { x=1; y=2; }

public A (int xx, int yy) { x=xx; y=yy;} }

 

При выполнении команды A a=new A(); для создания объекта класса используется конструктор без параметров. Полям объекта а будут присвоены, соответственно, значения 1 и 2.

 

Если при создании объекта требуется использовать конструктор с параметрами, то в операторе new после имени класса в круглых скобках указываются значения параметров, например, A obj1=new A(6,13);

А команда A obj22=new A(3); вызовет ошибку, потому что класс А не содержит конструктора с одним параметром, которому можно было бы присвоить значение 3.

В языке С# существует упрощенная форма написания конструктора: при описании полей класса можно написать инициализирующие выражения.

 

Пример. class В { public int i=10;}

Все строки, содержащие инициализирующие выражения, включаются в начало всех конструкторов. В данном примере строка i=10; будет включена в конструктор, определяемый компилятором.

Замечание. При создании объекта класса на языке C#, поля объекта, если им не заданы определенные значения, обнуляются.

Пример. В конструкторе генерация случайных чисел

public class Vector //Описание класса «Элемент»

{int name;

public Vector()

       {

              Random rnd=new Random();

                   name=rnd.Next(1,100);

       }

public string getName()

       {

                              return name.ToString();

       }

                   }

Уровни доступа к членам класса. Работа с закрытыми членами класса. Примеры.

ООП5. В С# имеется пять спецификаторов доступа: public, private, protected, internal, protected internal. Значения спецификаторов доступа следующие:

-public - член класса может быть использован любым методом;

-private - член класса может быть использован только методом того же класса,

-protected- член класса может быть использован только либо методом того же класса, либо методом производного класса;

-internal- член класса может быть использован только методом из той же сборки;

-protected internal- член класса может быть использован только либо методом из той же сборки или методом производного класса из любой сборки.

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

Пример: Предположим нам надо создать класс для работы с окружностью, в этом классе у нас будет поле, содержащее радиус. Значение радиуса должно быть числом неотрицательным. Конечно, при каждом вводе мы можем проверять это значение, именно так поступают в процедурном программировании. Но в ООП задачу можно решить другим способом. Проверка останется, но она будет реализована в классе.

Для этого определим уровень доступа к полю на private или protected, т.е. сделаем его закрытым от обращений извне. В этом случае нужно будет написать два открытых метода для того, что бы вводить и       выводить информацию.

class Circle{

private int R;

public int get_R(){return x;}

public bool set_R(int rr)

{ if(rr < 0) return true; r=rr;

return false;}}

В поле r класса Circle уже нельзя ввести отрицательного значения, метод set_R контролирует ввод, причем он возвращает информацию о том, была ли допущена ошибка. Можно например, сделать, чтобы при отрицательном вводе радиус становился равным 1.

Пример:

class Rectangle

{

   private double dlina, shirina;

   public double get_X(){return dlina;}

   public void set_X(double xx){

   if (xx>7 & xx<10) dlina=xx;

  else {MessageBox.Show ("Неправильный диапазон данных");}

   }

                  

   public double get_Y(){return shirina;}

   public void set_Y(double yy){

   if(yy > 0) shirina=yy;

   else {MessageBox.Show (" Неправильный диапазон данных ");}

   }

Статические члены класса. Статический конструктор класса. Пример класса, содержащего статические члены.

ООП8. Иногда возникает необходимость, того, что бы какое-то поле было общим для всех объектов одного типа. В этом случае используются статические поля. Статическое поле описывается с использованием слова static. Статическим может быть и метод.

Обратиться к статическому члену класса можно через имя класса. Например. В команде int i= Convert.ToInt32(textBox1.Text); используется библиотечный класс Convert, в котором собраны многие функции преобразования типов, оформленные, как статические методы. Convert.ToInt32 – это вызов статического метода, выполняющего перевод в тип int.

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

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

class D{

private static int n;

public D(){n++;}

public static int get_N()

{return n;}}

В классе D есть статические поле и метод. Со статическим полем может работать и нестатический метод, в данном случае с полем работает конструктор. При каждом создании объекта конструктор вызывается, и, следовательно, значение n увеличивается на единицу. Для того, что бы узнать, сколько объектов класса D создано нужно вызвать метод get_N(), т.е. написать команду D. get_N();

D ob1= new D ();

D ob2=new D ();

D ob3=new D();

I=B.get_N; //I=3


Поделиться с друзьями:

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.047 с.