Dudas OOP de un regresado a Delphi desde java.
Buenas, mi primer mensaje en este foro. Decir que vengo de java y creo tener la mayoria de conceptos de OOP claros. Hace dos años que no toco el Delphi, antes programaba muchisimo con él pero nunca pasaba de los formularios y no llegue a crear clases de cero, cosa que en java es a la orden del dia. Por tanto no se los entresijos de como implementa Delphi la OOP. Me gustaria aprenderlo lo mas rapidamente posible y por eso expondré preguntas sencillas de respuesta rápida para no cansar.
Lo primero que me ha dejado confuso es la clausula "class". Yo declaraba los objetos hace años con "object", no sabia que existia "class" en Delphi. Y si encima ademas permite usar "object" es cuando me confundo, asi que qué diferencia hay entre uno y otro?. Referente a la visibilidad en las class y la encapsulacion: Código:
Si no fueran estaticos, como se declararian los procedimientos y variables de clase, o sea, estaticos?. Si declaro en la seccion interface de la misma unit una constante fuera de la clase, una instancia de esa clase en la seccion implementation vera la constante?. La vera una instancia de otra clase en otra unit que haga uso (uses) de la anterior?. El constructor debe llamarse siempre Create o puede llamarse como yo quiera y por tanto haber varios constructores?. Inherits es como el super(); de java?. Existe la sobrecarga de procedimientos y funciones en Delphi?. He visto algo de declaraciones con interface, es que existen las interfaces en Delphi?. En caso afirmativo, como se declararia una clase que implementa a una interfaz? En internet solo he encontrado manuales basicos para iniciarse en Delphi. Conocen algun manual o tutorial que vaya al grano, para programadores avanzados, es decir, como un resumen que me ponga al dia rapidamente en Delphi y sus particularidades con la OOP. PD: Si que lei la guia de estilo y se que son muchas preguntas, pero todas pertenecen a la misma inquietud y creo que no procede abrir un hilo para cada una. Gracias. |
Bueno son demasiadas preguntas, pero vamos a tratar de responderte las que podamos, Aclaro que no me considero un master en delphi ni en POO ;).
Cita:
Cita:
Cita:
Cita:
Y su implementacion de uno de ellos por ejemplo sería: Las varibles estáticas no existe en delphi a menos yo no las conosco. Sinembargo creo saber que apartir de Delphi 2007 se han agregado muchas cosas al lenguaje Delphi como tal, para lo cual te recomiendo leer sin flojear estas nueves (1, 2, 3, 4, 5, 6, 7, 8 y 9 ) partes de este estupendo artículo. Cita:
Cita:
Cita:
Cita:
Cita:
Espero haberte podido ayudar.;) Saludos...:) |
Te lo hago más fácil( no es que quiera desmerecer a rgstuamigo que se ha dedicado y tomado el tiempo a buscar y comentar al respecto): lee el libro La Cara Oculta de Delphi, que trae todo un capítulo dedicado al tema POO y también más adelante, al tema de las Interfaces. ;)
Saludos, |
Bienvenido tu regreso al mundo Delphi, setq, donde la sintaxis del lenguaje es, por decirlo, más humana. ;)
Loo el esmero de Roberto para responderte y secundo la atinada recomendación de Marcelo. Aporto un grano de arena: Cita:
Un saludo. Al González. :) |
Me voy a leer sin flojear esos articulos que parece que son lo que buscaba, algo breve y rapido.
Delphius, gracias por la recomendacion del libro, ya lo conocia pero necesito ponerme al dia cuanto antes con algo mas breve, y lo de mgstuamigo creo que me va mejor. Y gracias por las respuestas, ya tengo algo andado. Nos leemos en mi proxima duda!. Saludos. |
Cita:
Lástimosamente en mi Delphi 7 aún no se contaba con las declaracion de Variables estáticas o de clase, pero para los que poseen una version de Delphi 2007,Delphi 2009, Delphi 2010 o la última que es Delphi XE, pues tranquilamente pueden hacer uso de tal caracteristica:p. Saludos...:) |
Siendo estrictos y siguiendo el ejemplo de rgstuamigo los métodos estáticos deberían declararse tal que así:
Tal y como se indica en uno de los mejores documentos de Embarcadero que yo haya leido nunca (por su claridad y concisión): http://edn.embarcadero.com/article/34324 Saludos. |
La franja horaria es GMT +2. Ahora son las 01:29:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi