Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion Avanzada I-Dario Salguero-Control 3
Programacion Avanzada I-Dario Salguero-Control 3
SEMANA 3
Darío Salguero
27-06-2022
Técnico Superior en Informática
DESARROLLO
1. Tomando en cuenta el requerimiento, generaremos la clase Persona como abstracta y de ella
heredarán los atributos las clases Alumno y Apoderado.
Ya que no se puede instanciar clases abstractas, se instanciarán los objetos en las clases Alumno y
Apoderado.
/**
* DEFINICION DE CLASE ABSTRACTA
*/
abstract class PERSONA
{
private $strNombres;
private $strApellidos;
private $strRut;
private $strDireccion;
/**
* DEFINICION DE TRAIT
*/
trait COLEGIO
{
public $strColegio;
public $strAnio;
class TraitColegio
{
use COLEGIO;
}
trait usoDeTraitColegio
{
use COLEGIO;
}
/**
* CLASE HIJA
*/
class ALUMNO extends PERSONA
{
use usoDeTraitColegio; //USO DE PROPIEDADES DEL TRAIT COLEGIO
//protected $strAsignaturas;
protected $strActividadesExtracurriculares;
/**
* CLASE HIJA
*/
class APODERADO extends PERSONA
{
private $strNombrePupilo;
/**
* CLASE ACTIVIDADES EXTRACURRICULARES7
*/
class ACTEXT extends ALUMNO
{
protected $strActividadesExtracurriculares;
index.php
<?php
require_once("clases.php");
$objAlumno2 = new ACTEXT("Carlos Alberto", "Vargas Soza", "23.456.789-0", "Alcantara 200, Las
Condes");
$objAlumno2->setDatosAlumno("Futbol, Música");
echo $objAlumno->getDatosPersonales("Alumno");
echo $objAlumno->getDatosAlumno();
echo $objAlumno2->getDatosPersonales("Alumno");
echo $objAlumno2->getDatosAlumno();
echo "<br>";
echo $objApoderado->getDatosPersonales("Apoderado");
echo $objApoderado->strNombrePupilo;
?>
clases.php
<?php
/**
* DEFINICION DE CLASE ABSTRACTA
*/
abstract class PERSONA
{
private $strNombres;
private $strApellidos;
private $strRut;
private $strDireccion;
/**
* DEFINICION DE TRAIT
*/
trait COLEGIO
{
public $strColegio;
public $strAnio;
class TraitColegio
{
use COLEGIO;
}
trait usoDeTraitColegio
{
use COLEGIO;
}
/**
* CLASE HIJA
*/
class ALUMNO extends PERSONA
{
use usoDeTraitColegio; //USO DE PROPIEDADES DEL TRAIT COLEGIO
//protected $strAsignaturas;
protected $strActividadesExtracurriculares;
/**
* CLASE ACTIVIDADES EXTRACURRICULARES7
*/
class ACTEXT extends ALUMNO
{
protected $strActividadesExtracurriculares;
/**
* CLASE HIJA
*/
class APODERADO extends PERSONA
{
private $strNombrePupilo;