Estoy tratando de encontrar la mejor forma de completar mi trabajo de diseño en mis clases.php clases e interfaces abstractas que implican métodos estáticos?
mi situación.
tengo una clase abstracta para que contiene métodos de pedido e información que se requieren para 2 clases de los niños
order_Outbound
y order_inbound
cada clase niño requiere 2 método public static llamado crear y obtener
pero por lo que he leído sobre php 5.3 no puede tener métodos estáticos abstractos ???
así que pensé en tener una interfaz Order_Interface que asume ese rol pero cómo lo implemento. ¿Todavía lo implemento en la clase padre
en cuyo caso la clase abstracta padre todavía me requiere crear un método get y create dentro de la clase abstracta. ¿O lo implemento en los niños y extiendo desde la clase abstracta?
TAMBIÉN !!! tanto la ida y niños entrantes requieren un crear método estático, sino que requieren diferentes parámetros a ser pasados
puedo en la interface tienen la función public static crear()
y en su implementación dentro order_outbound declaran que la función public static create ($ address, $ reference, $ orderID)
No veo el código, así que es solo una suposición, pero 'Order :: create()' y 'Order :: get()' probablemente no deberían ser estáticos a menos que tenga algunas razones para hacerlo ellos estáticos. – Crozin
@Crozin: si no desea utilizar constructores por algún motivo y desea un método para crear instancias, probablemente no desee tener que crear una instancia para llamar al método de creación de instancias. –
lo siento, sí, eso es exactamente por qué lo estoy haciendo. las clases representan los registros de la base de datos. mis constructores están protegidos y usan métodos estáticos para recuperar instancias de las clases. – roguecoder