---
title: "🧪 Exemplo final: persoas do instituto"
description: "## 🧪 Exemplo final: persoas do IES San Mamede Imos xuntar as ideas principais cun exemplo próximo: un profesor e unha alumna do centro. - `PersoaCentro` é abstracta: reúne os datos e comportamentos comúns. - `Profesor` e `Alumno` herdan dela…"
url: "https://www.drodicio.com/docs/dart/obxectos-dart/exemplo-final/"
updated: "2026-09-27"
category: Tema 2. Orientación a obxectos en Dart
---

# 🧪 Exemplo final: persoas do instituto

## 🧪 Exemplo final: persoas do IES San Mamede

Imos xuntar as ideas principais cun exemplo próximo: un profesor e unha alumna do centro.

- `PersoaCentro` é abstracta: reúne os datos e comportamentos comúns.
- `Profesor` e `Alumno` herdan dela e implementan a súa propia presentación.
- Usamos construtores, `super`, `@override`, un getter e un setter.
- Unha lista de `PersoaCentro` permite tratar profesores e alumnado xuntos: iso é **polimorfismo**.

A composición, os callbacks e a sobrecarga de operadores teñen exemplos propios nos apartados anteriores. Os mixins quedan en «Para saber máis».

> 🔗 [Ver o código en DartPad — https://dartpad.dev/?id=c741d71a96e6001e827b4e51aa60f535](https://dartpad.dev/?id=c741d71a96e6001e827b4e51aa60f535)

[https://dartpad.dev/embed-inline.html?id=c741d71a96e6001e827b4e51aa60f535](https://dartpad.dev/embed-inline.html?id=c741d71a96e6001e827b4e51aa60f535)

### 🔍 Que debes observar?

Ao percorrer a lista, `presentarse()` imprime unha mensaxe distinta para o profesor e para a alumna. Non necesitamos preguntar de que tipo é cada obxecto: cada un sabe executar a súa versión.

O setter úsase como unha asignación normal (`alumna.nota = 8`), pero executa a nosa comprobación antes de gardar o valor. Cando intentamos asignar 12, lanza un erro e conserva a nota anterior.

> 📌 Dentro deste mesmo ficheiro poderiamos acceder a `_nota`, porque a privacidade de Dart é por biblioteca. No exemplo usamos `nota` para pasar polo getter e polo setter.
