Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Класс Book с закрытыми данными и открытыми функциями




package cjLab1_k2_1;

 

Class Book

{

private int pages;

private String name;

public void SetPages (int Pages) {pages= Pages;}

public int GetPages () {return pages;}

public void SetName (String Name) {name= Name;}

public String GetName () {return name;}

}

 

class Class1

{

public static void main()

{

Book book= new Book();

book.SetName("BOOK");

book.SetPages(500);

 

System.out.println("book.name= " + book.GetName());

System.out.println("book.pages= " + book.GetPages());

}

}

 

 

Наследование

 

package cjLab1_k2_1;

 

class Book

{

private int pages;

private String name;

 

public void SetPages (int Pages) {pages= Pages;}

public int GetPages () {return pages;}

public void SetName (String Name) {name= Name;}

public String GetName () {return name;}

}

 

class ManualBook extends Book

{

boolean manual;

 

public void SetMenual (boolean Manual) {manual= Manual;}

public boolean IsManual () {return manual;}

}

 

class Class1

{

public static void main()

{

ManualBook manualBook= new ManualBook();

manualBook.SetName("BOOK");

manualBook.SetPages(500);

manualBook.SetMenual (true);

 

System.out.println("book " + manualBook.GetName()+

" contains " + manualBook.GetPages()+ " pages");

 

if (manualBook.IsManual()) System.out.println("book is manual\n");

else System.out.println("book isn't manual\n");

}

}

 

Задание

 

4) Самостоятельно создать класс калькулятора Calc с закрытой целочисленной переменной accumulator и с интерфейсом:

 

void Init (int n) – инициализировать скрытый аккумулятор accumulator

числом n,

int Get () – получить значение accumulator,

void Add (int n) – прибавить n к значению accumulator,

void Sub (int n) – вычесть n из значения accumulator.

 

5) Создать класс SecondCalc, порождённый из класса Calc и расширяющий его интерфейс следующей функцией

 

void Mul (int n) – умножить значение accumulator на указанное число n.

 

6) Создать класс ThirdCalc, порождённый из класса SecondCalc и расширяющий его интерфейс следующей функцией

 

void ChangeSign () – изменить знак значения accumulator,

bool IsSign () – получить знак значения accumulator.

 

7) Создать класс FourthCalc, порождённый из класса ThirdCalc и расширяющий его интерфейс следующей функцией

 

void ChangeSign () – изменить знак значения accumulator,

bool IsSign () – получить знак значения accumulator.

 

Для самостоятельной работы

Часть 3. Классы и наследование в языке С++/CLI

Каркас консольного С++.NET приложения

 

/////////////////////////

// ccLab1k2_1

 

#include "stdafx.h"

#using <mscorlib.dll>

 

using namespace System;

 

int _tmain()

{

// TODO: Please replace the sample code below with your own.

Console::WriteLine(S"Hello World");

return 0;

}

 

Структура Book

 

/////////////////////////

// C++.NET File ccLab1k2_1

// Структура Book

#include "stdafx.h"

//#using <mscorlib.dll>

//#include <stdio.h>

//#include <string.h>

 

//using namespace System;

 

struct Book

{

int pages;

char name [20];

};

 

int _tmain ()

{

// TODO: Please replace the sample code below with your own.

//Console::WriteLine (S"Hello World");

printf ("Hello!\n");

Book book;

book.pages= 500;

strcpy (book.name, "BOOK");

printf ("book %s contains %d pages\n", book.name, book.pages);

return 0;

}

 

Класс Book

/////////////////////////

// C++.NET File ccLab1k2_2

// Класс Book

#include "stdafx.h"

 

class Book

{

public:

int pages;

char name [20];

};

 

int _tmain ()

{

printf ("Hello!\n");

Book book;

book.pages= 500;

strcpy (book.name, "BOOK");

printf ("book %s contains %d pages\n", book.name, book.pages);

return 0;

}

=========================================

/////////////////////////

// C++.NET File ccLab1k2_2

// Класс Book

#include "stdafx.h"

 

class Book

{

int pages;

char name [20];

public:

void SetPages (int Pages) {pages= Pages;}

int GetPages () {return pages;}

void SetName (char* pName) {strcpy (name, pName);}

char* GetName () {return name;}

};

 

int _tmain ()

{

printf ("Hello!\n");

Book book;

//book.pages= 500;

book.SetPages (300);

//strcpy (book.name, "BOOK");

book.SetName ("BOOK");

printf ("book %s contains %d pages\n ", book.GetName (),

book.GetPages ());

return 0;

}

 

Наследование

 

/////////////////////////

// C++.NET File ccLab1k2_4

// Класс Book

#include "stdafx.h"

 

class Book

{

int pages;

char name [20];

public:

void SetPages (int Pages) {pages= Pages;}

int GetPages () {return pages;}

void SetName (char* pName) {strcpy (name, pName);}

char* GetName () {return name;}

};

 

class BookOther: public Book

{

bool manual;

public:

void SetMenual (bool Manual) {manual= Manual;}

bool IsManual () {return manual;}

};

 

int _tmain ()

{

printf ("Hello!\n");

BookOther book;

book.SetPages (300);

book.SetName ("BOOK");

book.SetMenual (true);

 

printf ("book %s contains %d pages\n", book.GetName (),

book.GetPages ());

if (book.IsManual()) printf ("book is manual\n");

else printf ("book isn't manual\n");

return 0;

}

 

Задание

 

8) Самостоятельно создать класс калькулятора Calc с интерфейсом:

 

void Init (int n) – инициализировать скрытый аккумулятор accumulator

числом n,

int Get () – получить значение accumulator,

void Add (int n) – прибавить n к значению accumulator,

void Sub (int n) – вычесть n из значения accumulator.

 

9) Создать класс OtherCalc, порождённый из класса и расширяющий его интерфейс следующей функцией

 

void Mul (int n) – умножить значение accumulator на указанное число n.

 

10) Создать класс AnotherCalc, порождённый из класса OtherCalc и расширяющий его интерфейс следующей функцией

 

void ChangeSigh () – изменить знак значения accumulator,

bool IsSigh () – получить знак значения accumulator.

 

 





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


Дата добавления: 2016-09-03; Мы поможем в написании ваших работ!; просмотров: 229 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Есть только один способ избежать критики: ничего не делайте, ничего не говорите и будьте никем. © Аристотель
==> читать все изречения...

2183 - | 2133 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.