Основные идеи объектно-ориентированного программирования

Автор работы: Пользователь скрыл имя, 14 Мая 2015 в 15:16, курсовая работа

Описание работы

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

Содержание работы

ВВЕДЕНИЕ..................................................................................................................4
1 ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ...................6
1.1 Подходы к проектированию...........................................................................6
1.2 Основные идеи объектно-ориентированного программирования..................8
Вывод..........................................................................................................................11
2 ОБЗОР СРЕДСТВ РАЗРАБОТКИ......................................................................12
2.1 Определение C++.........................................................................................12
2.2 Сравнение языко С++ и Си…………...........................................................13
2.1 Обзор сред для программирования на С++.......................................................15
Вывод..........................................................................................................................18
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ КЛАССА FILESTREAM............................19
2.1 Постановка задачи...............................................................................................19
2.2 Реализация класса FileStream...........................................................................19
Вывод..........................................................................................................................21
ЗАКЛЮЧЕНИЕ..........................................................................................................22
ГЛОССАРИЙ.............................................................................................................23
СПИСОК АББРЕВИАТУР......................................................................................24
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ....................................................

Файлы: 1 файл

Poyasnitelnaya.doc

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

 

ГЛОССАРИЙ

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

C++ - компилируемый статически типизированный язык программирования общего назначения.

Библиотека – файл, который содержит множество предопределенных классов для работы с графикой, диалогами, строками, массивами, функциями печати, контролем над событиями, получаемыми с аппаратных устройств и других программ.

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

Программное обеспечение – совокупность программ для ЭВМ, обеспечивающее пользователя функциями, необходимыми для полноценного взаимодействия и использования ЭВМ.

Процесс – команда, которая выполняется в текущий момент.

Файл – именованная область данных на носителе информации.

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

 

 

СПИСОК АББРЕВИАТУР

ООП - Объектно-ориентированное программирование

MSVC - Microsoft Visual C++

MinGW - Minimalist GNU for Windows

BSD - Berkeley Software Distribution

RAD – Rapid application development

MS – Microsoft

Windows NT – New Technology

БД – База данных

ОС – Операционная система

ПО – Программное обеспечение

 

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

  1. Лафоре Р. Объектно-ориентированное программирование в С++. – СПб.: Питер, 2013.
  2. Хорев П. Объектно-ориентированное программирование. – СПб.: Academia, 2012.
  3. Щупак Ю. C/C++. Структурное и объектно-ориентированное программирование: практикум. – СПб.: Питер, 2010.
  4. Гилберт С, Макартни Б. Самоучитель Visual C++ в примерах. - К. : ООО "ТИД ДС", 2003.
  5. Шмидский Я. К. Программирование на языке С/С++. Самоучитель. –М. : Вильямс, 2004.
  6. Павловская Т. А. С/С++. Программирование на языке высокого уровня. – СПб. : Питер, 2003.
  7. Паппас К. , Мюррей У. Программирование на С и С++. -К. : BHV, 2000.
  8. Касаткин А. И. , Вальвачев А. Н. Профессиональное программирование на языке Си: От Турбо Си к С++. – Минск: Вышэйшая школа, 2002.
  9. Савич У. С++ во всей полноте. - К. : BHV; СПб: Питер, 2005.
  10. Шиманович Е. Л. C/C++ в примерах и задачах. - Минск: Новое знание, 2004.
  11. Баженова И. Ю. С++ Самоучитель программиста. - М. : КУДИЦ-ОБРАЗ, 2003.

 

ПРИЛОЖЕНИЯ

Приложение 1

Листинг программы:

№1

#include <iostream>

#include <fstream>

using namespace std;

class SortedFile{

public:

ofstream fout;

ifstream fin;

char* r_name;

SortedFile(){

}

SortedFile(char* name){

r_name = name;

}

void Open(char* name){

r_name = name;

fin.open(r_name);

}

void Open(){

fin.open(r_name);

}

void Write(char* c){

fout << c << endl;

}

void Read(){

char buff[100];

if (fin.is_open()){

while (!fin.eof()){

fin.getline(buff, 100);

cout << buff << endl;

}

}

}

void Close(){

fout.close();

fin.close();

}

~SortedFile(){

fout.close();

fin.close();

}

void Sort(){

int r=0;

char **buf;

char tmp[50];

Open();

if (fin.is_open()){

while (!fin.eof()){

fin.getline(tmp, 100); cout << tmp;

r++;

}

}

fin.close();

buf = new char*[r];

r = 0;

while (!fin.eof()){

fin.getline(buf[r], 100);

r++;

}

fin.close();

char *temp;

for (int i = 0; i < r; i++)

for (int j = 0; j<100; j++)

if (strcmp(buf[j], buf[j + 1])>0)

{

temp = buf[j];

buf[j] = buf[j + 1];

buf[j + 1] = temp;

}

fout.open(r_name);

for (int i = 0; i < r; i++) fout << buf[i] << endl;

}

SortedFile operator +(SortedFile sf){

char **buf;

Open();

int r = 0;

while (!fin.eof()){

fin.getline(buf[r], 100);

r++;

}

Close();

sf.Open();

while (!sf.fin.eof()){

sf.fin.getline(buf[r], 100);

r++;

}

sf.Close();

buf = new char*[r];

Open();

r = 0;

while (!fin.eof()){

fin.getline(buf[r], 100);

r++;

}

Close();

sf.Open();

while (!sf.fin.eof()){100);

r++;

}

sf.Close();

fout.open;

for (int i = 1; i < r; i++) fout << buf[i] << endl;

Sort();

return *this;

}

};

int main(){

SortedFile file("f.txt");

//file.Sort();

file.Read();

file.Close();

cout << endl;

system("pause");

return 0;}

№2

#include <iostream>

#include <fstream>

using namespace std;

class FileStream{

public:

ofstream fout;

ifstream fin;

char* a_name;

FileStream(){

}

FileStream(char* name){

a_name = name;

fout.open(a_name);

}

void Create(char* name){

a_name = name;

fout.open(a_name);

}

void Open(char* name){

a_name = name;

fin.open(a_name);

}

void Open(){

fin.open(a_name);

}

void Write(int i){

fout << i << endl;;

}

void Write(double d){

fout << d << endl;

}

void Write(char* c){

fout << c << endl;

}

void Read(){

char buff[100];

if (fin.is_open()){

while (!fin.eof()){

fin.getline(buff,50);

cout << buff << endl;

}

}

}

void Close(){

fout.close();

fin.close();

}

~FileStream(){

fout.close();

fin.close();

}

};

int main(){

FileStream file;

file.Create("a.txt");

file.Write(123441);

file.Write(32241);

file.Write("aaa");

file.Close();

file.Open();

file.Read();

file.Close();

cout << endl;

system("pause");

return 0;

}

№3

#include <iostream>

#include <fstream>

using namespace std;

class FileStream{

public:

ofstream fout;

ifstream fin;

char* s_name;

FileStream(){

fin.open(s_name);

}

FileStream(char* name){

s_name = name;

fout.open(s_name);

}

void Create(char* name){

s_name = name;

fout.open(s_name);

}

void Open(char* name){

s_name = name;

fin.open(s_name);

}

void Open(){

fin.open(s_name);

}

void Write(int i){

fout << i << endl;;

}

void Write(double d){

fout << d << endl;

}

void Write(char* c){

fout << c << endl;

}

void Read(){

char buff[100];

if (fin.is_open()){

while (!fin.eof()){

fin.getline(buff, 100);

cout << buff << endl;

}

}

}

void Close(){

fout.close();

fin.close();

}

~FileStream(){

fout.close();

fin.close();

}

};

class EncryptedFile :public FileStream{

public:

char *key;

int lkey;

EncryptedFile(char *k, char *s_name) : FileStream (s_name){

key = k;

this->s_name = s_name;

lkey = strlen(key);

fin.open(this->s_name);

}

void Crypt(){

char **buf;

Open();

int r = 0;

buf = new char*[1];

while (!fin.eof()){

fin.getline(buf[0], 100);

r++;

}

Close();

buf = new char*[r];

Open();

r = 0;

while (!fin.eof()){

fin.getline(buf[r], 100);

r++;

}

Close();

fout.open("s_enc.txt");

int len, k=0;

for (int i = 1; i < r; i++){

len = strlen(buf[i]);

for (int j = 0; j < len; j++){

fout << buf[i][j] ^ key[k];

if (k == lkey) k = 0;

}

}

fout.close();

}

void Decrypt(){

char **buf;

Open();

int r = 0;

buf = new char*[1];

while (!fin.eof()){

fin.getline(buf[0], 100);

r++;

}

Close();

buf = new char*[r];

Open();

r = 0;

while (!fin.eof()){

fin.getline(buf[r], 100);

r++;

}

Close();

fout.open("s_dec.txt");

int len, k = 0;

for (int i = 1; i < r; i++){

len = strlen(buf[i]);

for (int j = 0; j < len; j++){

fout << buf[i][j] ^ key[k];

k++;

if (k == lkey) k = 0;

}

}

fout.close();

}

};

int main(){

EncryptedFile file("key","s.txt");

system("pause");

return 0;

}

№4

#include <iostream>

#include <fstream>

using namespace std;

template <class T> class SortedFile{

public:

fstream l;

ifstream fin;

ofstream fout;

char *l_name;

SortedFile(){

}

SortedFile(char* name){

l_name = name;

}

 

void Open(char* name){

l_name = name;

fin.open(l_name);

}

void Open(){

fin.open(l_name);

}

void Write(T c){

fout << c << endl;

}

void Read(){

char buff[100];

if (fin.is_open()){

while (!fin.eof()){

fin.getline(buff, 100);

cout << buff << endl;

}

}

}

void Close(){

fout.close();

fin.close();

}

void Sort(){

int r = 0;

char **buf;

char tmp[100];

Open();

if (fin.is_open()){

while (!fin.eof()){

fin.getline(tmp, 100); cout << tmp;

r++;

}

}

fin.close();

buf = new char*[r];

r = 0;

while (!fin.eof()){

fin.getline(buf[r], 100);

r++;

}

fin.close();

char *temp;

for (int i = 0; i < r; i++)

for (int j = 0; j<100; j++)

if (strcmp(buf[j], buf[j + 1])>0)

{

temp = buf[j];

buf[j] = buf[j + 1];

buf[j + 1] = temp;

}

fout.open(f_name);

for (int i = 0; i < r; i++) fout << buf[i] << endl;

}

~SortedFile(){

fout.close();

fin.close();

}

};

int main(){

SortedFile<char> f("l.txt");

f.Open();

f.Read();

f.Close();

system("pause");

return 0;

}

 

 

 


Информация о работе Основные идеи объектно-ориентированного программирования