Сообщения с тегом ‘Person’
Организация интерфейса
Написано admin в 20 Июнь 2008 – 22:02 -Организация интерфейса
Создадим теперь интерфейс, позволяющий конечному пользователю работать с объектами наших классов. Как всегда, интерфейс создавался вручную в режиме проектирования. На форме я создал меню с большим числом команд и инструментальную панель с 18 кнопками, команды которых повторяли основную команду меню. Описывать процесс создания интерфейса не буду – он подробно рассмотрен в предыдущей главе. Поскольку вся работа по созданию интерфейса транслируется в программный код формы, то просто приведу этот достаточно длинный текст почти без всяких купюр: Read more »
Tags: brush, circle, clearBrush, clearPen, Color, createPerson, createRectangle, createSquare, current, goNext, moveTop, Person
Находится в Учебник | No Comments »
Классы семейства геометрических фигур
Написано admin в 20 Июнь 2008 – 21:59 -Классы семейства геометрических фигур
Приведем теперь программные коды классов, являющихся потомками класса Figure.
Класс Ellipse
Вот программный код этого класса:
using System;
using System.Drawing;
namespace Shapes Read more »
Tags: axisA, axisB, base, Capture, Convert, DrawEllipse, FillRectangle, Graphics, namespace, Override, pen, Person, Rectangle, scale, sideA
Находится в Учебник | No Comments »
Наследование и универсальность
Написано admin в 20 Июнь 2008 – 21:48 -Наследование и универсальность
Необходимость в универсализации возникает с первых шагов программирования. Одна из первых процедур, появляющихся при обучении программированию – это процедура свопинга:обмен значениями двух переменных одного типа. Выглядит она примерно так:
public void Swap(ref T x1, ref T x2)
{
T temp;
temp = x1; x1 = x2; x2 = temp;
}
Если тип T – это вполне определенный тип, например int, string или Person, то никаких проблем не существует, все совершенно прозрачно. Но как быть, если возникает необходимость обмена данными разного типа? Неужели нужно писать копии этой процедуры для каждого типа? Проблема легко решается в языках, где нет контроля типов – там достаточно иметь единственный экземпляр такой процедуры, прекрасно работающий, но лишь до тех пор, пока передаются аргументы одного типа. Когда же процедуре будут переданы фактические аргументы разного типа, то немедленно возникнет ошибка периода выполнения, и это слишком дорогая плата за универсальность.
В типизированных языках, не обладающих механизмом универсализации, выхода практически нет – приходится писать многочисленные копии Swap. Read more »
Tags: Class, Console, GenStack, item, LIFO, name, param, Person, PrintPerson, summary, WriteLine
Находится в Учебник | No Comments »
