Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



WITH Student DO BEGIN

Name:=’Лящук Петро Павлович’;

Date:=’25.06.1995’;

END;

Причому до полів можна звертатися не тільки тоді, коли вони напряму описані в даному типі, а й тоді, коли вони успадковуються від батьківського (породжуючого) типу (як проходить успадковування, буде показано пізніше). До полів об’єкту можна звертатися безпосередньо, але краще цього уникати. Принципи ООП вимагають, щоб поля об’єктів були, наскільки це можливо, виключені з вихідного коду. Надалі буде показано, що поля методу можна оголосити прихованими, обмеживши можливість доступу до них межами модуля, в яких вони визначені. Найраціональнішим способом одержання доступу до полів об’єкту у Pascalі є використання методів самого об’єкта, при цьому метод є процедурою чи функцією, описаною всередині об’єкту, яка дозволяє зв’язуватися з ним.
     

Приклад: розробимо об’єкт «вектор», атрибутами якого є одновимірний масив і його розмірність. Опишемо такі методи об’єктного типу, як ініціалізація та відображення вектора, а також обчислення скалярного добутку двох векторів.

Unit Unit6_2; {модуль(файл unit 6_2.pas)}

interface (розділ інтерфейсу }

uses crt;

Type

mas=array[1..10]of integer;

vector=object {об'єктний тип vector }

n : integer,{розмірність вектора }

vec:mas; {значення елементів вектора}

name :char; {ім'я вектора }

procedure init(сh:сhar);{ініціалізація даних }

procedureshowvec(ch:char);{відображення значень елементів }

procedure scalar(v:vector);{скалярне множення векторів}

end;

implementation {розділ реалізації методів }

{-------------------------------метод ініціалізації вектора ---------------------------------------}

procedure vector.init(ch:char);

var і:integer;

Begin

name:=ch;

write('input the number of vector ',name ,' components: ');

readln(n);

writeln('input ', n,' components ');

fori:=1 tondo

read(vec[i]);

end;

{============= метод виведення вектора ================}

procedure vector.showvec(ch:char);

var і:integer;

Begin

name:=ch;

writeln('vector ', name, ':');

for i:=1to n do write(vec[i],' ');

writeln;

end;

{==== метод обчислення скалярного добутку векторів ====}

procedure vector.scalar(v:vector);

{v - екземпляр об'єктного типу}

var sum, {скалярний добуток векторів }

i:integer; {параметр циклу}

Begin

if n<>v.n then begin{коли розмірності векторів різні}

writeln('scalar product is not computable: ');

writeln(‘vector lengths are different');

readln;

exit;

End

else {коли розмірності векторів однакові}

begin

sum:=0;

for i:=1to n do{скалярний добуток векторів}

sum:=sum+vec[i]*v.vec[i];

writeln('scalar product = ', sum);

end;
end;

end. {кінець модуля}

program ех6_2; {програма роботи з об'єктом «вектор»}

uses crt,Unit6_2;

var v1.v2:vector;{об'єкти-вектори }

Begin

clrscr:

writeln('create vectors');

v1.init('A'); {ініціалізація вектора А }

v2.init('B'); {ініціалізація вектора В }

v1.showvec('A'); {виведення вектора А }

v2.showvec('В1); {виведення вектора В}

v1.scalar(v2);{обчислення скалярного добутку векторів}

End.

Методи


Читайте також:

  1. A DAY OF A STUDENT
  2. Brainstorming. In small groups of 3 or 4 students discuss formulated answers.
  3. Dialog 1. In der Studentencafeteria
  4. Discuss it at the students' on line conference.
  5. For questions 1-15, read the text below and decide which answer A, B, C or D best fits each space. There is an example at the beginning.
  6. Http://studentu-vuza.ru/grazhdanskoe-pravo/lektsii/posledstviya-nesoblyudeniya-formyi-sdelki.html
  7. I. You will hear a text about animal rights. Before listening discuss the words in the box with your fellow students and your teacher
  8. Modul I: Student und seine Umgebung
  9. Present your ideas on the given subject for the students' research society.
  10. Student B
  11. THE STUDENTS ARE IN THE LECTURE HALL
  12. Then begin




Переглядів: 409

<== попередня сторінка | наступна сторінка ==>
Поля об’єкта | Ініціалізація полів об’єкта

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.01 сек.