Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по МПИ.docx
Скачиваний:
3
Добавлен:
27.10.2018
Размер:
138.08 Кб
Скачать

2 Этап Работа с готовыми программами

Процесс программирования состоит из 2 частей:

визуальное конструирование; программирование событий.

Пример программы: Проект «Дом»

Public Class Dom

' Рисование домика в классе. Задание метода .Show

End Class

Public Class DomTruba

Inherits Dom

Public Overrides Sub Show()

MyBase.Show()

' Рисование трубы.

Dim pointsTruba As Point() = _

{New Point(X + Convert.ToInt16(Shirina * 0.15), Y - Convert.ToInt16(Shirina * 1.42)), _

New Point(X + Convert.ToInt16(Shirina * 0.15), Y - 2 * Shirina), _

New Point(X + Convert.ToInt16(Shirina * 0.3), Y - 2 * Shirina), _

New Point(X + Convert.ToInt16(Shirina * 0.3), Y - Convert.ToInt16(Shirina * 1.66))}

picGr.DrawLines(Pen, pointsTruba)

End Sub

End Class

Imports System

Imports System.Windows.Forms

Imports System.Drawing

Private Sub btnDraw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDraw.Click

Dim X, Y, A As Integer

X = Convert.ToInt16(txtX.Text)

Y = Convert.ToInt16(txtY.Text)

A = Convert.ToInt16(txtA.Text)

Dim greenPen = New Pen(Color.Green)

Dim DomN = New Dom()

DomN.SetDom(X, Y, A, picGraphics, greenPen)’рисует дом из процедуры

DomN.Show()

Dim redPen = New Pen(Color.Red)

Dim DomM = New DomTruba()

DomM.SetDom(X + 100, Y, A, picGraphics, redPen) ’рисует дом с трубой

DomM.Show()

End Sub

End Class

3 Этап Составление программ

11. Методика введения понятия “Полиморфизм ”

3 этапа обучения: 1) Подготовительный этап предназначен для введения терминологии. 2) Этап работы с готовыми документами предназначен для осознания и усвоения учениками работы с электронными документами с использованием электронных инструментов. 3) Этап построения документа предназначен для формирования приемов построения электронных документов с использованием электронных инструментов.

1 Этап Подготовительный

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

Объявление абстрактного класса:

MustInherit Class NameClass

Public MustOverride Function NameFunction() As DataType

End Class

Объявление класса-потомка

Class ChildClass

Inherits NameClass

Private A As Single ('Поля)

Public Sub New(ByVal A1 As Single)

A = A1 ('Конструктор – получаем Исходные данные, например число A1)

End Sub

Public Overrides Function NameFunction () As DataType

Return Formula ('Реализуем метод)

End Function

End Class