Объектно-ориентированное программирование Центральное место в ООП занимает понятие пользовательского типа данных называемого классом, объединяющего под.

Презентация:



Advertisements
Похожие презентации
Сравнение реализаций пользовательских типов переменных в языках высокого уровня. typedef struct tagStack{ double data; struct tagStack* prev; }*stack;
Advertisements

Using Dreamweaver MX Slide 1 Window menu Manage Sites… Window menu Manage Sites… 2 2 Open Dreamweaver 1 1 Set up a website folder (1). Click New…
Arrays Dr. Ramzi Saifan Slides adapted from Prof. Steven Roehrig.
1/30 Chapter 8: Dynamic Binding And Abstract classes.
A class is just a collection of variables--often of different types--combined with a set of related functions. The variables in the class are referred.
Test 14 Вопрос 1. class Main { public void method() { static class One { public One() { System.out.println("From one"); } } public static void main(String...
Unit II Constructor Cont… Destructor Default constructor.
1 © Luxoft Training 2012 Inner and anonymous classes.
Inner Classes. 2 Simple Uses of Inner Classes Inner classes are classes defined within other classes The class that includes the inner class is called.
WiseImage Open Architecture. Why to open? Modern technology demands A growing amount of customers demands for custom commands The limited development.
Преобразование типов Макаревич Л. Г.. Операция приведения типов Тип ( выражение ) Тип ( выражение ) (тип) выражение (тип) выражение int a = 5; float b.
Test 17 Вопрос 1. public class TKO { public static void main(String[] args) { String s = "-"; Integer x = 343; long L343 = 343L; if (x.equals(L343)) s.
© Luxoft Training 2013 Annotations. © Luxoft Training 2013 Java reflection / RTTI // given the name of a class, get a "Class" object that // has all info.
Microsoft Excel Performed: Kerimbayeva Dana Group: 145.
Unit 2 Users Management. Users Every user is assigned a unique User ID number (UID) UID 0 identifies root User accounts normally start at UID 500 Users'
© 2006 Avaya Inc. All rights reserved. Embedded File Management and SD-Card Handling.
Статический анализатор для языка ECMA Script 4 Власов В. А. Мат.-мех. Ф-т.
Class Date { private int year = 0; private int month = 0; private int day = 0; public void SetDate (int y, int m, int d) { year = y; month = m; day = d;
WS15-1 WORKSHOP 15 THERMAL STRESS ANALYSIS WITH DIRECTIONAL HEAT LOADS NAS104, Workshop 15, March 2004 Copyright 2004 MSC.Software Corporation.
1 A + B Операнд 1Операнд 2 Оператор Что такое выражение (expression) ? Что такое инструкция (statement) ? Операторы int max = (a > b) ? a : b;
Транксрипт:

Объектно-ориентированное программирование Центральное место в ООП занимает понятие пользовательского типа данных называемого классом, объединяющего под общим именем не только данные, но и функции. Парадигма ООП родилась из потребностей коллективной разработки, повтоного использования кода и сокрытия кода. Описание класса в соответст вие с UML:

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

Инкапсуляция: Свойства и методы класса могут быть открытыми или закрытыми для пользователя (программиста, который использует этот класс). В конкретных реализациях языков ООП это достигается использованием модификаторов доступа public, private и (иногда) protected. Абстракция данных. Интерфейс. class Test{ public: int a; private: int f(int a, int b){ return a+b; } public: double getData(){ return c}; private: double c; }; Test A; int d; d=A.a; //OK d=A.f(2,6); //Error double d1; d1=A.c; //Error d1=A.getData(); //OK

Наследование: можно расширить возможности класса посредством наследования. class TestA{ public: TestA():c(3.1415){c*=2; } //Конструктор ~TestA(){} //Деструктор private: double c; public: double getData({ return c} double x; protected: int q; }; class TestB: public TestA{ int s; public: int f(int a){return a*q} }; TestB B; B.s; //OK B.x; //OK B.c; //Error B.q; //OK

Полиморфизм: поведение, зависящее от контекста. Перегрузка (overloading): class Test2{ double f(int a){return a*2.0} double f(double a){return a/2.0; } }; double c; c=f(3); // c=6; c=f(3.0);// c=1.5

Переопределение(overriding): class Test3{ public: virtual int g(int a){return a*a;} virtual int g1(int a)=0; }; class Test4:public Test3{ public: virtual int g(int a){ return a+4; } }; Test3 D3; Test4 D4; int c; c=D3.g(3) // 9 c=D4.g(3) //7 c=((Test3)D4).g(3) //9

Модель составных компонентов - COM-технология, реализует ООП на двоичном уровне. В настоящее время COM-объекты называются объектами ActiveX Пример, объектная модель Microsoft Office:

Methods ………………………………………………………… QuitQuit Quits Microsoft Word and optionally saves the open documents. (Inherited from _Application.)_Application Properties …………………………………………………………………… DocumentsDocuments Returns a Documents collection that represents all the open documents.(Inherited from _Application.)Documents_Application ………………………………………………………………………… VisibleVisible Determines if the specified object is visible. This property returns True if the specified object is visible, and False if not. (Inherited from _Application.)_Application ……………………………………………………………………. Represents the Microsoft Office Word application. The Application type exposes the following members.Application MicroSoft Developer Network (MSDN)

Documents Members ……………………………………………………………………….. Add Returns a Document object that represents a new, empty document added to the collection of open documents ……………………………………………………………………… AddDocument Document Members …………………………………………………………… SaveAs Saves the specified document with a new name or format. Some of the arguments for this method correspond to the options in the Save As dialog box (File menu). (Inherited from _Document.) ……………………………………………………………………….. SaveAs_Document Document Properties Content Returns a Range object that represents the main document story. (Inherited from _Document.)ContentRange_Document

Range Properties Bold Determines if the font or range is formatted as bold. ……………………………………………………………………..Bold Font Returns or sets a Font object that represents the character formatting of the specified object. …………………………………………………………………….Font Text Returns or sets the text in the specified range. ……………………………………………………………………. Text

var Word, Doc; Word=new ActiveXObject("Word.Application"); Word.Visible=false; Doc=Word.Documents.Add(); Doc.Content.Bold=1; Doc.Content.Font.Size=32; Doc.Content.Text="Попробуйте автоматизировать работу с Microsoft Word"; Doc.SaveAs("C:\\temp-work\\Test.doc"); Word.Application.Quit(); test1.js

Windows Scripting Host (WSH) – объектно-ориентированный интерфейс автоматизации MS Windows var Word; Word=new ActiveXObject("Word.Application"); ………………………………………………………….. var fso; fso=new ActiveXObject("Scripting.FileSystemObject"); ………………………………………………………………… if(fso.FileExists("C:\\dummy.ddd")) str+="The file has appeared\n"; else str+="The file is absent\n"; Doc.Content.Text=str; ……………………………………………………………….. Фрагмент сценария WSH:

Визуальное программирование: