Commits

Miguel Gordian  committed b462442

Inclusión del tema herencia y refinamiento en index

Se agrega al index el tema de herencia, refinamiento e interfaces, junto con la
corrección del resaltado de sintaxis para Sphinx dentro del tema que se esta
incluyendo.

  • Participants
  • Parent commits 941133e

Comments (0)

Files changed (2)

File source/herencia_refinamiento_interfaces.rst

 `Polar` de la anterior parada del tour en dos clases, con dos diferentes
 implementaciones de `description`. Aquí esta la super clase:
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     "Una coordenada polar"
     class Polar(Float angulo, Float radio) {
 a ser enviados al inicializador de la super-clase. Parece solo una expresión
 que instancia una super-clase:
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     "Una coordenada polar con una etiqueta"
     class EtiquetaPolar(Float angulo, Float radio, String etiqueta)
 super-clase simplemente especificando su refinada implementación usando =>, 
 como en el siguiente ejemplo:
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     "Una coordenada polar con una etiqueta"
     class EtiquetaPolar(Float angulo, Float radio, String etiqueta)
 
 O asignado un valor usando =, como el siguiente ejemplo:
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     "Una coordenada polar con una etiqueta"
     class EtiquetaPolar(Float angulo, Float radio, String etiqueta)
 la cual define implementaciones `default` de `equals()` y `hash()`. Tambien
 necesitamos refinar estos:
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     "Una coordenada polar"
     class Polar(Float angulo, Float radio) {
     
 Esta es la primera vez que hemos visto esta sintaxis:
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     if (is Polar that) { ... }
 
 código anterior como esto:
 
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     "Una coordenada polar"
     class Polar(Float angulo, Float radio) {
 no es solo un tipo especial de coordenadas polares, esto es un caso
 para la introducción de una super-clase abstracta:
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     "Una libre abstraccion de un sistema de coordenadas para un punto
     geometrico"
 Una manera de definir una implementación para una atributo abstracto heredado 
 es usar la sintaxis corta de refinamiento que hemos visto anteriormente.
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     "Una coordenada polar"
     class Polar(Float angulo, Float radio)
 
 Alternativamente, podemos escribirlo de la manera larga.
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     "Una coordenada polar"
     class Polar(Float angulo, Float radio)
 `Cartesiano` también de mannera covariante refina `rotar()` y `dilatar()`,
 pero a un tipo diferente de retorno.
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     import ceylon.math.float { atan }
 
 
 Tomemos ventaja de herencia "mixin" para definir una interfaz `Writer` para Ceylon.
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     interface Writer {
     
 
 Ahora definamos una concreta implementación de la interfaz.
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     class ConsoleWriter() satifies Writer {
         formatter => StringFormatter();
 común supertipo, y el tipo heredado también refine el miembro para eliminar
 cualquier ambigüedad. Lo siguiente resulta en un error de compilación:
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     interface Party {
         shared formal String legalName;
 `name` a un común supertipo.
 El siguiente código es legal.
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     interface Named {
         shared formal String name;
 Oh, y por supuesto lo siguiente es ilegal:
 
 
-.. code:: ceylon
+.. code-block:: ceylon
     
     interface Named {
         shared formal String name;

File source/index.rst

     basico
     clases
     atributos_estructuras
+    herencia_refinamiento_interfaces