Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ALBUR en 5 Mayo 2012, 11:08 am



Título: HERENCIA
Publicado por: ALBUR en 5 Mayo 2012, 11:08 am
Buenos días,
Tengo las siguientes clases:
Código:

public class Nota{

    private String titulo;

    private String contenido;

    private int dia;

    private int mes;

    private int año;

  public Nota(String el_titulo, String el_contenido, int el_dia, int el_mes, int el_anio){

        titulo = el_titulo;

        contenido= el_contenido;

        dia = el_dia;

        mes = el_mes;

        año = el_anio;

    }

..........................

Código:

public class Disco extends Nota{

    private String artista;

    private int año;

    public Disco(String el_titulo, String el_artista, int el_anio){

        super(el_titulo);

        artista = el_artista;

        año = el_anio;

    }
   ..........




Cuando compilo en disco me sale este error:

cannot find symbol - constructor Nota(java.lang.String).señalando

¿Alguien sabe a que se debe?

y no solo me pasa con Disco sino con cualquier "hija" que cree:

Si sirve de algo cada clase es un archivo.

Un saludo.


Título: Re: HERENCIA
Publicado por: Proteus1989 en 5 Mayo 2012, 14:10 pm
Código
  1. super(el_titulo);

Lo que hace esa linea es llamar al constructor del que hereda. Si el constructor es

Código
  1. Nota(String el_titulo, String el_contenido, int el_dia, int el_mes, int el_anio)

el super que tendrías que llamar tendría que tener los parametros del constructor de este modo

Código
  1. super(el_titulo, el_contenido,el_dia, el_mes, el_anio)

O bien crearte en la clase Nota otro contructor que solo le entre por parametro el titulo

Código
  1. public Nota(String el_titulo)
  2. {
  3. titulo = el_titulo;
  4. }


Lo he explicado muy rápido, espero que lo entiendas xD


Título: Re: HERENCIA
Publicado por: ALBUR en 7 Mayo 2012, 10:26 am
O.k.

Directo a la sesera.

Muchas gracias y un saludo a todos.