Наследование
Классы объединяют данные
и методы их обработки,
ограничивая доступ для
различных категорий
пользователей
Создание новых классов на
основе существующих с
дополнением или изменением
их функциональности
Выполнение разных действий
одноименными методами
различных классов
Бьерн Страуструп
Языки объектно-ориентированного программирования
C#, C++, Java, Delphi, Eiffel, Simula, D, Io, Objective-C, Object Pascal, VB.NET, Visual DataFlex, Perl, Php, PowerBuilder, Python, Scala, ActionScript, JavaScript, JScript.NET, Ruby, Smalltalk, Ada, Xbase++, X++, Vala
С++
Простота и надежность использования
Возможность повторного использования программного кода
Хорошая скорость
Ясность и читабельность
if(type == INPPAR)
{
if(itype == IIAPI_DTE_TYPE)
{
if(data->dtype() == _TTime)
DateUnixToIng(inp->date[inp->cnt], (unsigned long)*(DTTime*)data);
if(data->dtype() == _TDate)
DTDateToIng(inp->date[inp->cnt], *(DTDate*)data);
}
if(itype == IIAPI_MNY_TYPE)
{
double d = *(DTMoney*)data;
long i = (long)d;
if(d-(double)i > 0.5) i++;
*(DTMoney*)data = (double)i;
}
if(itype == IIAPI_CHA_TYPE and repeat) itype = IIAPI_VCH_TYPE;
DefPar(INPPAR, inp, inp->cnt++, itype, *data);
}
4
Интерфейс
class Rectangle
{
int width;
int height;
int Square();
};
class Example
{
int a;
int b;
protected:
int c;
public:
int d;
private:
int e;
public:
int f;
};
Данные + методы
Protected
Данные + методы
Public
class Rectangle
{
private:
int w;
int h;
public:
int Square()
{
return(w*h);
}
};
Доступ к элементам класса
Через объект
Rectangle rect;
rect.w = 200;
rect.h = 100;
int s = rect.Square();
Через указатель на объект
Rectangle rect;
Rectangle *r = ▭
r->w = 200;
r->h = 100;
int s = r->Square();
Пример ограничения доступа к элементам класса
[C++ Error] test.cpp(50): E2247 'Rectangle::w' is not accessible
[C++ Error] test.cpp(51): E2247 'Rectangle::h' is not accessible
Специальный метод класса - конструктор
Свойства конструктора
Rectangle::Rectangle(int Side)
{
Rectangle(Side, Side);
}
Динамическое
void func()
{
Rectangle *r1 = new Rectangle(200, 100);
Rectangle *r2 = new Rectangle(150);
Rectangle *r3 = new Rectangle(*r1);
}
Специальный метод класса - деструктор
Свойства деструктора
R1
w
h
R2
w
h
R3
w
h
count
count
count
count
Компилятор предоставляет каждому объекту указатель на него самого - this.
Этот указатель может быть использован только внутри методов класса для получения адреса текущего объекта.
R1
w
h
R2
w
h
R3
w
h
this
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть