Comunidad PHPeros
Lenguajes => PHP => (POO) Programación Orientada a Objetos => Mensaje iniciado por: Physlet en 07 de Abril de 2010, 02:31:56 am
-
En mi carrera tengo que estudiar la denominada Programación Orientada a Objetos...
Nos mandaron a hacer como práctica una aplicación que dado los 2 catetos te calcule la hipotenusa...
Yo la puedo hacer fácilmente sin usar clases, objetos, métodos, etc... Entonces yo me pregunto, cuál es la diferencia entre la POO y la programación en PHP común...?
-
Con la POO es más profesional, porque los códigos son reusables y tiene mucha más organización...
-
La ventaja es que todo esta en un entorno privado que no afecta a ninguna variable ni funcion global.
Un saludo!
-
La diferencia es que una clase la podés usar varias veces, con solo escribirla una vez. Son muy útiles más que todo a la hora de sacar datos de MySQL. Por ejemplo, yo en mi web, utilizo una clase para usuarios, de la que saco la clave, el nick y demás, lo que me ha resultado sumamente útil :P.
Espero haberte ayudado.
Saludos.
-
Bueno a mí me gustaría que alguien me hiciera lo del cálculo de la hipotenusa en PHP usando clases, para tener una guía de como se maneja esto...
No es que me la hayan asignado de tarea ni nada, es más, en estos momentos no estamos dando lenguajes de programación, sino solo algoritmos... Y cuandp estudiemos lenguajes solo será Java... Pero yo quiero aprenderlo en PHP =P
Sin POO en PHP yo lo hice de esta manera:
<?PHP
$cat1 = $_GET['cat1'];
$cat2 = $_GET['cat2'];
$oper = pow($cat1,2) + pow($cat2,2);
$hip = sqrt($oper);
?>
Alguien me haría el gran favor de aplicarlo usando POO?
-
<?
class Triangulo {
var $cateto1;
var $cateto2;
public function setCatetos($cat1,$cat2) {
$this->cateto1 = $cat1;
$this->cateto2 = $cat2;
}
public function getHipotenusa()
{
return sqrt(pow($cat1,2) + pow($cat2,2));
}
}
$triangulo = new Triangulo();
$triangulo->setCatetos($cat1,$cat2);
$triangulo->getHipotenusa();
?>
Este sería un método de hacerlo con POO.
-
Gracias naveda, antes de buscar la relación y demás, quisiera saber de qué forma el usuario puede introducir los valores de los catetos?
-
Gracias naveda, antes de buscar la relación y demás, quisiera saber de qué forma el usuario puede introducir los valores de los catetos?
A través de un formulario se puede...
<?php
// Codigo class
if($_POST) { // si envió el form
$triangulo = new Triangulo();
$triangulo->setCatetos($_POST['cat1'], $_POST['cat2']);
echo 'Hipotenusa: '.$triangulo->getHipotenusa();
} else {
...
Luego sería montar el form nada más
-
A través de un formulario se puede...
<?php
// Codigo class
if($_POST) { // si envió el form
$triangulo = new Triangulo();
$triangulo->setCatetos($_POST['cat1'], $_POST['cat2']);
echo 'Hipotenusa: '.$triangulo->getHipotenusa();
} else {
...
Luego sería montar el form nada más
Que va.. No lo comprendo. No hay una manera más básica de establecer las variables de cat1 y cat2?
Es que mmm veo que repites la línea "$triangulo = new Triangulo();" que ya está dentro de la clase...
Por cierto, a qué se refiere esto:
$triangulo->getHipotenusa()
O sea, el " -> "
Disculpen mis preguntas de principiantes, es que realmente lo soy en el tema de PHP.
-
$triangulo->getHipotenusa()
La variable $triangulo especifica el llamado a la clase "triángulo". Luego, el "->" indica que se va a hacer llamado a algún método de la clase (ya sea una variable, una función, etc). Así que al poner getHipotenusa(), significa que está llamando a la función getHipotenusa de la clase triángulo.
Saludos.
PD: Te recomiendo pasarte por éste (http://www.phperos.net/foro/index.php/topic,5093.0.html) post ;).