The field .... is unknown Orientado a objetos

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • sirjonan
    Junior Member
    • abr
    • 24

    #1

    The field .... is unknown Orientado a objetos

    Resulta que estoy haciendo un programa orientado a objetos de un coche con su nombre, capacidad del deposito etc,...

    entonces resulta que lleno los campos del coche mediante el constructor, pero cuando quiero hacer pruebas para que me muestre si guarda bien los datos....me sale que el campo esta desconocido. Me han salido ya unas cuantas veces en otros programitas que he ido haciendo, alguien sabe cual es la causa??
    Puede ser porque accedor al atributo de manera incorrecta o porque tengo los datos como privados???
    Gracias.

    Aqui el codigo.

    class Coche definition.

    public section.
    methods: constructor importing
    inombre type string
    icapacidad type f
    iconsumogasolina type f.


    private section.
    data: nombre type string,
    capacidad type i,
    consumogasolina type f.


    endclass.


    class Coche implementation.
    method constructor.
    nombre = inombre.
    capacidad = icapacidad.
    consumogasolina = iconsumogasolina.

    endmethod.

    endclass.

    START-OF-SELECTION.

    data c1 type ref to Coche.
    Create object c1 exporting
    inombre = 'Ford'
    icapacidad = 60
    iconsumogasolina = 5 .

    write: / 'nombre del coche:', nombre.
    Editado por última vez por sirjonan; 20/04/2014, 16:32:21.
  • Mauricio Hidalgo
    Senior Member
    • may
    • 481

    #2
    Si justamente por que son privadas no las puedes accesar.

    Crear Método de clase coche:

    method mostrar.
    write me->nombre.
    endmethod.

    y tras la creación del objeto llamas

    call method c1->mostrar.


    Saludos

    Comentario

    • sirjonan
      Junior Member
      • abr
      • 24

      #3
      Originalmente publicado por Mauricio Hidalgo
      Si justamente por que son privadas no las puedes accesar.

      Crear Método de clase coche:

      method mostrar.
      write me->nombre.
      endmethod.

      y tras la creación del objeto llamas

      call method c1->mostrar.


      Saludos

      ah sisi, ahora todo tiene sentido, me estaba volviendo loco jeje.
      muchas gracias.

      Comentario

      Trabajando...