MARICÓN

Extensión de Perl que proporciona una escritura, encapsulación y herencia más fuertes
Descargar ahora

MARICÓN Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Benny Millares
  • Sitio web del editor:
  • http://search.cpan.org/~bmillares/

MARICÓN Etiquetas


MARICÓN Descripción

Extensión de Perl que proporciona una escritura, encapsulación y herencia más fuertes. Poof es un módulo Perl que intenta dar a Perl un marco de implementación de OO más formal. Proporcionando una distinción entre las propiedades de la clase y los métodos con tres niveles de acceso (público, protegido y privado). También restringe el método que se anula en las clases de niños a aquellas propiedades o métodos marcados como "virtuales", en cuyo caso una clase infantil puede anular el método, pero solo desde su propio contexto. En lo que respecta al padre, el método anulado o la propiedad aún se comporta de la manera esperada desde su perspectiva. Tome el ejemplo anterior: Cualquier niño de MyClass puede anular el método "dictamenAproutperl6", ya que está marcado "virtual": # en el submarino. OpinionAproutPerL6: Método Público {My ($ obj) = @_; Devuelve "Dude, es totalmente tubular !!"; } Sin embargo, si el método público "RealPublicopinionApperperl6" se llama, a su vez, llamara al método "OpinionAproutperL6", ya que se definió en MyClass, debido a la perspectiva de los padres, el método nunca cambió. Creo que esto es un comportamiento crucial y se lleva a cabo de cómo se han implementado los principios de OO en otros idiomas populares como Java, C # y C ++. Synopsis paquete MyClass; usar la base QW (POOF); # Propiedades de clase submarin: propiedad pública {{'tipo' => 'cadena', 'predeterminado' => '', 'regex' => qr / ^. {0,128} $ /,}} Sub Edad: propiedad pública { {'tipo' => 'entero', 'predeterminado' => 0, 'min' => 0, 'max' => 120,}} submaritalstatus: propiedad privada {{'tipo' => 'string', ' Predeterminado '=>' solo ',' regex '=> QR / ^ (? Soltero | Casado) $ /' IFILTER '=> SUB {MY $ Val = Shift; devolver lc $ val; }}} Sub cónyuge: Propiedad privada {{'tipo' => 'cadena', 'predeterminado' => 'solo', 'regex' => QR / ^. {0,64} $ /, 'IFILTER' => sub {My $ val = turno; devolver lc $ val; }}} Sub opiniónSaboutPerL6: Propiedad protegida {{'tipo' => 'string', 'predeterminado' => 'Estoy tan preocupado, no duermo por la noche'. }} # Métodos de clase Sub Marritelstatus: Método público {My ($ obj, $ solicitando) = @_; Si ($ Solicitante EQ 'Stranger de aspecto nefario') {devuelve 'no de su negocio'; } else {devuelve $ obj -> {'' marritalstatus '}}} sub getmarried: Method Public {My ($ obj, $ new_spouse) = @_; $ obj -> {'cónyuge'} = $ new_spouse; Si ($ obj-> perrores) {mis errores $ = $ obj-> PGEERRORS; Si (existe $ errores -> {'' cónyuge '}) {Die "Problemas, ¡el Marrige está desactivado !! $ errores -> {' cónyuge '} "; devuelva 0;}} otra cosa {$ obj -> {'marritalstatus'} = 'casado'; regreso 1;}} sub opinionApperperl6: Método Público Virtual {My ($ obj) = @_; devolver" Oh, genial, Realmente deseando que llegue. Es casi aquí :) ";} sub realpublicopinionaboutperl6: Método público {My ($ obj) = @_; devolver $ obj-> opiniónSaboutperl6;} Requisitos: · Perl


MARICÓN Software relacionado