Partimos de la suposición de que se viene de c++.
La sintaxis es parecida.
En java TODO son objetos.
Declaración de variable: Se irá viendo en los ejemplos.
Sentencias de condición (if, else if), al estilo C++, en los ejemplos se muestra.
Sentencias de control (while, for, ), al estilo C++, en los ejemplos se muestra.
Arrays, se dispone de diferentes objetos que los representan (ArrayList, etc), o se pueden hacer como en C. (se verán ejemplos)
Package: Un package es una agrupación de clases afines. Equivale al concepto de biblioteca (library) existente en otros lenguajes o sistemas. Físicamente representan una carpeta.
Herencia: Se da en OO.
Se ejecuta sobre máquina virtual
TODO SON OBJETOS!!!!
Hasta ahora: encapsulamos código en funciones.
OO encapsula conceptos en clases: personas,
trabajadores, vehículos...
Una clase define:
Variables que describen el concepto: Atributos.
Funciones para manipular dicho concepto: Métodos .
Podemos acceder a los atributos públicos de la siguiente manera:
import paquete.Vehiculo;
Vehiculo vi = new Vehiculo();
vi.numRuedas = 2;
System.out.println (vi.numRuedas);
Podemos acceder a los métodos de igual forma: vi.avanza();
public class Vehiculo {
protected int numRuedas;
private String numCarroceria;
public String getNumCarroceria() {
return this.numCarroceria;
}
public void setNumCarroceria(String carr) { this.numCarroceria = carr;
}
}
Vehiculo veh = new Vehiculo(); veh.setNumCarroceria(“13354a-X”); System.out.println(veh.getNumCarroceria());
Mediante métodos públicos (get/set) accedemos a atributos privados:
class Vehiculo{
private String numCarroceria;
public String setNumCarroceria (String numCarroceria){
if (this.checkNumCarroceria(numCarroceria)) return false; else {
this.numCarroceria = numCarroceria; return true;
}
}
private function checkNumCarroceria(String numCarroceria){
return numCarroceria.isEmpty(); }
}
Vehiculo veh = new Vehiculo();
veh.checkNumCarroceria(“23213-ax”); // Error
veh.setNumCarroceria(“”); // Devolverá false
public Vehiculo(int a, String b) {
numRuedas = a;
numCarroceria = b;
}
Vehiculo veh = new vehiculo(4, “1234-ax”); // Vehículo de 4 ruedas
class coche extends vehiculo {
protected int numPuertas;
}
Class moto extends vehiculo {
protected String manillar;
}
/* Heredan numRuedas, numCarroceria y la función
avanza() */