КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
М-файл для создания классовКак было отмеченоранее, среда MATLAB является объектно –ориентированой и позволяет создавать классы пользователя. В рассматриваемой версии MATLAB 7.8 такая возможность предусмотрена использованием М-файла Class M-file (рис. 1.17). Рис. 1.17 Бланк Class M-file
Бланк Class M-file имеет следующую структуру: - заголовок М-файла – classdef name. Начинается с ключевого слова classdef, name – имя класса. Полный синтаксис заголовка имеет вид: classdef (ConstructorOnLoad=True) PositivIntegers < Integers & Positive, где ConstructorOnLoad= True – атрибут класса и его значение(тип булеан), PositivIntegers – имя класса, Integers & Positive – супер класс; - % комментарии; - блок описания свойств класса – properties … end, имеет следующую структуру: properties property_name = значение (не обязательно), причем в качестве значения может выступать арифметическое или логическое выражение; end; - блок описания методов класса (может быть пустой): methods (методы) end; - блок описания событий класса (не обязательный): events (собития).. end; - end – завершение М-файла. Для инициализации значений удобнее всего использовать стандартные методы get и set: methods function value = get.PropertyName(object) ... end function obj = set.PropertyName(obj,value) ... endend % окончание блока methodsИнициализировать класс можно с помощью конструктора:function obj = myClass(a,b,c) obj.A = a; ...endДля сохранения класса с его компонентами можно создать отдельную директорию, имя которой должно начинаться с символа @. Тогда обратиться к классу можно с помощь следующей программной строки: >> dir4/@имя_директории/имя_класса.m.При этом нет необходимости настраивать среду на путь к директории, в которой этот класс сохраняется, Чтобы создать переменную соответствующего класса, необходимо переменной присвоить имя класса, например: >> x=mycl;
|