MATLAB 中的用户定义类
在本文中,我们将了解 MATLAB 中的用户定义类。
面向对象编程:
面向对象的程序设计包括:
- 确定您要构建的系统或应用程序的组件。
- 分析和识别模式以确定哪些组件被重复使用或共享特征。
- 根据异同对组件进行分类
面向对象编程的基本元素是:对象、类、继承、抽象、多态和封装。其中对象和类是面向对象编程的两个基本原则。
类和对象:
对象是我们在我们周围看到的真实世界的实体。每个对象都有其属性和方法(特征和行为)。例如,考虑一辆汽车。汽车是具有颜色、大小、型号名称等属性或特征的对象。以及驱动、施加喇叭、施加中断等方法。
类是对象或对象集合的蓝图。我们知道对象包含一些特征和行为,也称为属性和方法。通过使用Class,我们可以使用属性和方法。用户自定义类是用户根据自己的需要定义的类。以下是创建用户定义类的语法:
句法:
classdef userdefinedClassName
properties
end
methods
end
end
classdef是 Matlab 中用于定义用户自定义类的关键字。需要注意的重要一点是文件名和类名应该匹配。在下面的示例中,我们将创建一个名为 geeksforgeeks.m 的新文件,并使用名称 geeksforgeeks 定义类。
示例 1:
Matlab
% MATLAB code for user-defined class
classdef geeksforgeeks
properties
courses
practice_session
contest
end
methods
end
end
Matlab
% MATLAB code for user-defined class
classdef geeks
properties
courses
practice_session
end
methods
end
end
Matlab
% MATLAB code for create object in class
geeks = geeksforgeeks //here geeks is an object
//dot notation to access the attributes
geeks.practice_session = "Microsoft Interview";
display(geeks.practice_session);
display(geeks.courses);
Matlab
% MATLAB code for object creation
geeks.courses = "DSA Preparation";
display(geeks.courses);
Matlab
classdef anime
properties(constant)
name
end
methods
function obj = anime()
obj.name = "One Piece"
end
end
end
输出:
=>
示例 2:
MATLAB
% MATLAB code for user-defined class
classdef geeks
properties
courses
practice_session
end
methods
end
end
输出:
invalid classdef definition, the class name must match the filename
在上面的示例课程中, practice_session 是使用类属性初始化的类属性。
创建类对象:
一旦我们定义了类,我们就可以通过创建类的实例或对象来访问类属性。这是创建对象并使用其属性的语法。
句法:
object_name = classname
object_name.property
示例 3:
MATLAB
% MATLAB code for create object in class
geeks = geeksforgeeks //here geeks is an object
//dot notation to access the attributes
geeks.practice_session = "Microsoft Interview";
display(geeks.practice_session);
display(geeks.courses);
输出:
Microsoft Interview
[](0x0)
示例 4:
MATLAB
% MATLAB code for object creation
geeks.courses = "DSA Preparation";
display(geeks.courses);
输出:
DSA Preparation
创建构造函数:
到目前为止,我们已经讨论了如何处理属性,现在我们将了解如何处理用户定义类中的方法。方法用于改变定义为类函数的类属性的行为。构造函数被描述为具有类名的确切名称的方法名。例如,在下面的示例中,anime() 是一个构造函数
创建一个新文件并用文件名命名类名。
示例 5:
MATLAB
classdef anime
properties(constant)
name
end
methods
function obj = anime()
obj.name = "One Piece"
end
end
end
输出:
ans= One Piece