¿Un return o varios?
La cosa no está clara:
https://stackoverflow.com/questions/36707/should-a-function-have-only-one-return-statement
Artículo sobre el tema:
https://www.anthonysteele.co.uk/TheSingleReturnLaw
Una buena práctica:
Minimize the number of returns in each routine. It’s harder to understand a routine if, reading it at the bottom, you’re unaware of the possibility that it returned somewhere above.
Use a return when it enhances readability. In certain routines, once you know the answer, you want to return it to the calling routine immediately. If the routine is defined in such a way that it doesn’t require any cleanup, not returning immediately means that you have to write more code.
Usar Google colab
Escribir en fichero
string docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); StreamWriter outputFile = new StreamWriter(Path.Combine(docPath, "salida.txt"))); outputFile.WriteLine("Esto es una línea"); outputFile.WriteLine("Esto es otra"); outputFile.Close();
Códigos juego Piedra Papel Tijera (Lagarto Spock)
Código tienda
Inyección de dependencia
Las interfaces nos permiten desacoplar las funciones al no depender de una clase, sino de la implementación de un interfaz:
https://anexsoft.com/ejemplo-de-inyeccion-de-dependencias-con-c
Definición:
Gente que está en contra (en ocasiones):
Explicación interfaces
En este enlace queda muy claro:
Curso interfaces c#
Aquí también lo explican bien:
Ejercicio herencia
Arreglar la siguiente jerarquía de herencias para que incorpore constructores en las clases derivadas y funcione el área:
abstract class Figuras { abstract function area(); } abstract class Bidimensional extends Figuras{ } class Circulo extends Bidimensional{ private $radio; } class Triangulo extends Bidimensional{ private $base; private $altura; } abstract class Tridimensional extends Figuras{ } class Cubo extends Tridimensional{ private $lado; } class Esfera extends Tridimensional{ private $radio }
Propiedades estáticas
class Estaticas { static public $iva; public $nombre; } $a=new Estaticas(); $b=new Estaticas(); $c=new Estaticas(); Estaticas::$iva=.21; $a->nombre="Ana"; $b->nombre="Eva"; $c->nombre="Rosa"; var_dump($a::$iva); var_dump($b::$iva); var_dump($c::$iva); class Producto{ static private $iva=.21; public $nombre; public $precio; function __construct($nombre,$precio) { $this->nombre=$nombre; $this->precio=$precio; } function PVP(){ return $this->precio*(1+$this::$iva); } } $manzana=new Producto("Manzana",2); echo $manzana->PVP(); $uvas=new Producto("Uvas",3.5); echo $uvas->PVP();