Clases definidas por el usuario en MATLAB

En este artículo, comprenderemos las clases definidas por el usuario en MATLAB.

Programación orientada a objetos:

El diseño de programas orientados a objetos implica:

  • Identifique los componentes del sistema o aplicación que desea construir.
  • Analizar e identificar patrones para determinar qué componentes se utilizan repetidamente o comparten características.
  • Clasificar componentes en base a similitudes y diferencias.

Los elementos básicos de la programación orientada a objetos son: Objetos, Clases, Herencia, Abstracción, Polimorfismo y Encapsulación. En el que el objeto y la clase son los dos principios básicos de la programación orientada a objetos. 

Clases y Objetos:

Un objeto es una entidad del mundo real que vemos a nuestro alrededor. Cada objeto tiene sus propiedades y método (características y comportamiento). Por ejemplo, considere un automóvil. Un Auto es un objeto que tiene propiedades o características como color, tamaño, nombre del modelo. Y métodos como conducir, aplicar bocina, aplicar descanso, etc. 

Una clase es un modelo de los objetos o la colección de objetos. Sabemos que los objetos contienen algunas características y comportamientos también conocidos como Atributo y Método. Con el uso de Class, podemos usar atributos y métodos. Las clases definidas por el usuario son clases que un usuario define en función de sus necesidades. Esta es la sintaxis para crear una clase definida por el usuario:

Sintaxis:

classdef userdefinedClassName
   properties
   end
   methods
   end
end

classdef es la palabra clave que se utiliza para definir la clase definida por el usuario en Matlab. El punto importante a tener en cuenta es que el nombre del archivo y el nombre de la clase deben coincidir. En el siguiente ejemplo, crearemos un nuevo archivo llamado geeksforgeeks.m y definiremos la clase con el nombre geeksforgeeks. 

Ejemplo 1: 

Matlab

% MATLAB code for user-defined class 
classdef geeksforgeeks
  properties
    courses
    practice_session
    contest
  end
  methods
  end
end

Producción:

=> <object geeksforgeeks>
courses: []
practice_session: []
contest: []

Ejemplo 2:

Matlab

% MATLAB code for user-defined class 
classdef geeks
  properties
    courses
    practice_session
  end
  methods
  end
end

Producción:

invalid classdef definition, the class name must match the filename

En los cursos de ejemplo anteriores, Practice_session son los atributos de clase que se inicializan con las propiedades de clase. 

Creando un Objeto de Clase:

Una vez que tenemos la clase definida, podemos acceder a los atributos de la clase creando una instancia u objeto de la clase. Esta es la sintaxis para crear un objeto y usar su propiedad. 

Sintaxis:

object_name = classname
object_name.property

Ejemplo 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);

Producción:

Microsoft Interview
[](0x0)

Ejemplo 4:

Matlab

% MATLAB code for object creation
geeks.courses = "DSA Preparation";
display(geeks.courses);

Producción:

DSA Preparation

Creando Constructor:

Hasta ahora hemos discutido cómo manejar las propiedades, ahora veremos cómo trabajar con métodos en clases definidas por el usuario. Los métodos se utilizan para cambiar el comportamiento del atributo de clase que se define como la función de clase. El constructor se describe como el nombre del método con el nombre exacto del nombre de la clase. Por ejemplo, en el siguiente ejemplo, anime() es un Constructor

Cree un nuevo archivo y nombre el nombre de la clase con el nombre del archivo. 

Ejemplo 5:

Matlab

classdef anime
  properties(constant)
    name
  end
  methods
    function obj = anime()
      obj.name = "One Piece"
    end
  end
end

Producción: 

ans= One Piece

Publicación traducida automáticamente

Artículo escrito por jaintarun y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *