Codigo:
//Llamar a los constructores de la superclase.
package javaapplication63;
class a{
a(){
System.out.println("En el constructor de a...");
}
a (String s){
System.out.println("En el constructor String de a...");
System.out.println(s);
}
}
class b extends a{
b(String s){
super(s);
System.out.println("En el constructor String de b...");
System.out.println(s);
}
}
public class JavaApplication63 {
public static void main(String[] args) {
b obj = new b("Hola");
}
}
Resultado:
run:
En el constructor String de a...
Hola
En el constructor String de b...
Hola
BUILD SUCCESSFUL (total time: 1 second)
·
Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.
Archivo del blog
-
►
2012
(38)
- ► septiembre (3)
-
►
2020
(12)
- ► septiembre (1)
-
▼
2024
(29)
-
▼
agosto
(17)
- Problema del Viajante de Comercio TSP (V.1). Métod...
- Problema del Viajante de Comercio TSP (V.2). Métod...
- Problema del Viajante de Comercio TSP (V.3). Métod...
- Problema del viajante de Comercio TSP (IV.2). Méto...
- Problema del Viajante de Comercio TSP (V.3.1). Aná...
- Matriz de conectividad circular.
- Problema del viajante de Comercio TSP (VI). Método...
- Problema del viajante de Comercio TSP (VII). Métod...
- Problema del viajante de Comercio TSP (VIII). Méto...
- Problema del viajante de Comercio TSP (IX). Método...
- Problema del viajante de Comercio TSP (X). Método ...
- Problema del viajante de Comercio TSP (XI). Método...
- Problema del viajante de Comercio TSP (XII). Métod...
- Problema del viajante de Comercio TSP (XIII). Méto...
- Problema del viajante de Comercio TSP (XIV). Métod...
- Problema del viajante de Comercio TSP (XV). Método...
- Juegos VII. La Mansión Misteriosa: Un juego de tex...
-
▼
agosto
(17)
Mostrando entradas con la etiqueta Programación Orientada a Objetos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Programación Orientada a Objetos. Mostrar todas las entradas
lunes, 26 de marzo de 2012
Devolver arrays desde métodos.
Código Java:
//Devolver arrays desde métodos.
package pasomatrizes;
public class PasoMatrizes {
public static class ArrayFactory {
public int[] getNewArray() {
int array[] = {1, 2, 3, 4, 5};
return array;
}
}
public static void main(String[] args) {
ArrayFactory af = new ArrayFactory();
int array[] = af.getNewArray();
for (int i = 0; i < array.length; i++) {
System.out.println("Array[" + i + "] = " + array[i]);
}
}
}
Resultado:
run:
Array[0] = 1
Array[1] = 2
Array[2] = 3
Array[3] = 4
Array[4] = 5
BUILD SUCCESSFUL (total time: 0 seconds)
//Devolver arrays desde métodos.
package pasomatrizes;
public class PasoMatrizes {
public static class ArrayFactory {
public int[] getNewArray() {
int array[] = {1, 2, 3, 4, 5};
return array;
}
}
public static void main(String[] args) {
ArrayFactory af = new ArrayFactory();
int array[] = af.getNewArray();
for (int i = 0; i < array.length; i++) {
System.out.println("Array[" + i + "] = " + array[i]);
}
}
}
Resultado:
run:
Array[0] = 1
Array[1] = 2
Array[2] = 3
Array[3] = 4
Array[4] = 5
BUILD SUCCESSFUL (total time: 0 seconds)
Devolver objetos desde métodos.
Código Java:
//Devolver objetos desde métodos.
package pasoobjeto;
class ObjectFactory {
public CreatedClass getNewObject() {
return new CreatedClass();
}
}
class CreatedClass {
public String tag = "Esta es la etiqueta de datos";
}
public class PasoObjeto {
public static void main(String[] args) {
ObjectFactory of = new ObjectFactory();
CreatedClass cc = of.getNewObject();
System.out.println(cc.tag);
}
}
Resultado:
run:
Esta es la etiqueta de datos
BUILD SUCCESSFUL (total time: 0 seconds)
//Devolver objetos desde métodos.
package pasoobjeto;
class ObjectFactory {
public CreatedClass getNewObject() {
return new CreatedClass();
}
}
class CreatedClass {
public String tag = "Esta es la etiqueta de datos";
}
public class PasoObjeto {
public static void main(String[] args) {
ObjectFactory of = new ObjectFactory();
CreatedClass cc = of.getNewObject();
System.out.println(cc.tag);
}
}
Resultado:
run:
Esta es la etiqueta de datos
BUILD SUCCESSFUL (total time: 0 seconds)
Uso de la palabra clave this.
Codigo:
//Usar la palabra clave this.
package javaapplication60;
class Data{
private String data_string;
Data (String s){
data_string = s;
}
public String getData(){
return data_string;
}
public void printData(){
printer p = new printer();
p.print(this);
}
}
class printer{
void print(Data d){
System.out.println(d.getData());
}
}
public class JavaApplication60 {
public static void main(String[] args){
(new Data("Hola")).printData();
}
}
Resultado:
run:
Hola
BUILD SUCCESSFUL (total time: 0 seconds)
·
//Usar la palabra clave this.
package javaapplication60;
class Data{
private String data_string;
Data (String s){
data_string = s;
}
public String getData(){
return data_string;
}
public void printData(){
printer p = new printer();
p.print(this);
}
}
class printer{
void print(Data d){
System.out.println(d.getData());
}
}
public class JavaApplication60 {
public static void main(String[] args){
(new Data("Hola")).printData();
}
}
Resultado:
run:
Hola
BUILD SUCCESSFUL (total time: 0 seconds)
·
viernes, 23 de marzo de 2012
Interfaces para herencia múltiple (estructura básica).
Codigo:
//Interfaces para herencia múltiple (estructura básica).
//Uso de las claves: interface e implement.
package main;
interface b{
//codigo
}
interface c{
//codigo
}
class a implements b, c {
//codigo
}
public class Main {
public static void main(String[] args) {
a obj = new a();
}
}
·
//Interfaces para herencia múltiple (estructura básica).
//Uso de las claves: interface e implement.
package main;
interface b{
//codigo
}
interface c{
//codigo
}
class a implements b, c {
//codigo
}
public class Main {
public static void main(String[] args) {
a obj = new a();
}
}
·
Clase interna anónima.
Código Java (ClaseInternaAnonima.java):
package claseinternaanonima;
class a {
a() {
(new b() {
public void print() {
System.out.println("Hola");
}
}).print();
}
}
class b {}
public class ClaseInternaAnonima {
public static void main(String[] args) {
a obj = new a();
}
}
Resultado:
run:
Hola
BUILD SUCCESSFUL (total time: 0 seconds)
package claseinternaanonima;
class a {
a() {
(new b() {
public void print() {
System.out.println("Hola");
}
}).print();
}
}
class b {}
public class ClaseInternaAnonima {
public static void main(String[] args) {
a obj = new a();
}
}
Resultado:
run:
Hola
BUILD SUCCESSFUL (total time: 0 seconds)
Determinar la clase de un objeto: getClass.
Codigo:
//Determinar la clase de un objeto: getClass.
package clasedelobjeto;
class a{
public void print(){
System.out.println("Aqui esta a...");
}
}
class b extends a{
public void print(){
System.out.println("Aqui esta b...");
}
}
class c extends a{
public void print(){
System.out.println("Aqui esta c...");
}
}
public class ClaseDelObjeto {
public static void main(String[] args) {
a primera = new a(); //objeto de la clase base a
b segunda = new b(); //objeto de la subclase b
c tercera = new c(); //objeto de la subclase c
a ref_a;
ref_a = primera;
System.out.println("La clase ref_a es: "+ref_a.getClass());
ref_a.print();
ref_a = segunda;
System.out.println("La clase ref_a es: "+ref_a.getClass());
ref_a.print();
ref_a = tercera;
System.out.println("La clase ref_a es: "+ref_a.getClass());
ref_a.print();
}
}
Resultado:
run:
La clase ref_a es: class clasedelobjeto.a
Aqui esta a...
La clase ref_a es: class clasedelobjeto.b
Aqui esta b...
La clase ref_a es: class clasedelobjeto.c
Aqui esta c...
BUILD SUCCESSFUL (total time: 1 second)
·
//Determinar la clase de un objeto: getClass.
package clasedelobjeto;
class a{
public void print(){
System.out.println("Aqui esta a...");
}
}
class b extends a{
public void print(){
System.out.println("Aqui esta b...");
}
}
class c extends a{
public void print(){
System.out.println("Aqui esta c...");
}
}
public class ClaseDelObjeto {
public static void main(String[] args) {
a primera = new a(); //objeto de la clase base a
b segunda = new b(); //objeto de la subclase b
c tercera = new c(); //objeto de la subclase c
a ref_a;
ref_a = primera;
System.out.println("La clase ref_a es: "+ref_a.getClass());
ref_a.print();
ref_a = segunda;
System.out.println("La clase ref_a es: "+ref_a.getClass());
ref_a.print();
ref_a = tercera;
System.out.println("La clase ref_a es: "+ref_a.getClass());
ref_a.print();
}
}
Resultado:
run:
La clase ref_a es: class clasedelobjeto.a
Aqui esta a...
La clase ref_a es: class clasedelobjeto.b
Aqui esta b...
La clase ref_a es: class clasedelobjeto.c
Aqui esta c...
BUILD SUCCESSFUL (total time: 1 second)
·
Crear una clase abstracta: abstract.
Codigo:
package claseabstracta;
abstract class a{
abstract String getData();
public void print(){
System.out.println(getData());
}
}
class b extends a{
String getData(){
return "Hola";
}
}
public class JavaApplication69 {
public static void main(String[] args) {
b b1 = new b();
b1.print();
}
}
Resultado:
run:
Hola
BUILD SUCCESSFUL (total time: 0 seconds)
·
package claseabstracta;
abstract class a{
abstract String getData();
public void print(){
System.out.println(getData());
}
}
class b extends a{
String getData(){
return "Hola";
}
}
public class JavaApplication69 {
public static void main(String[] args) {
b b1 = new b();
b1.print();
}
}
Resultado:
run:
Hola
BUILD SUCCESSFUL (total time: 0 seconds)
·
Acceso a los miembros sobreescritos: uso de super.
Codigo:
//Acceso a los miembros sobreescritos
package usarsuper;
class animal{
public void breathe(){
System.out.println("Respirar");
}
}
class pez extends animal{
public void breathe(){
System.out.println("Burbujear");
}
public void newbreathe(){
breathe(); //coge el breathe de la subclase "pez"
super.breathe(); //coge el breathe de la clase base "animal"
}
}
public class JavaApplication68 {
public static void main(String[] args) {
System.out.println("Crear un animal...");
animal a = new animal();
a.breathe();
System.out.println("Crear pez...");
pez p = new pez();
p.newbreathe();
}
}
Resultado:
run:
Crear un animal...
Respirar
Crear pez...
Burbujear
Respirar
BUILD SUCCESSFUL (total time: 0 seconds)
·
//Acceso a los miembros sobreescritos
package usarsuper;
class animal{
public void breathe(){
System.out.println("Respirar");
}
}
class pez extends animal{
public void breathe(){
System.out.println("Burbujear");
}
public void newbreathe(){
breathe(); //coge el breathe de la subclase "pez"
super.breathe(); //coge el breathe de la clase base "animal"
}
}
public class JavaApplication68 {
public static void main(String[] args) {
System.out.println("Crear un animal...");
animal a = new animal();
a.breathe();
System.out.println("Crear pez...");
pez p = new pez();
p.newbreathe();
}
}
Resultado:
run:
Crear un animal...
Respirar
Crear pez...
Burbujear
Respirar
BUILD SUCCESSFUL (total time: 0 seconds)
·
miércoles, 21 de marzo de 2012
Gestión multiniveles de constructores.
Codigo:
//Gestion Multiniveles de Constructores
package jerarquia2;
class a{
a(){ System.out.println("a"); }
}
class b extends a{
b(){ System.out.println("b"); }
}
class c extends b{
c(){ System.out.println("c"); }
}
class d extends c{
d(){ System.out.println("d"); }
}
//Principal
public class Jerarquia2 {
public static void main(String[] args) {
System.out.println("1- objeto: ");
d objeto = new d();
System.out.println("2- objeto2: ");
b objeto2 = new b();
}
}
Resultado:
run:
1- objeto:
a
b
c
d
2- objeto2:
a
b
BUILD SUCCESSFUL (total time: 1 second)
Multiniveles de herencia. (subclases de subclases).
Codigo:
//Multiniveles de herencia. (subclases de subclases)
package jerarquia;
//nivel 1 (base)
class papel{
public void start(){
System.out.println("Coger tipo puntero...");
}
}
//nivel 2 (pincel)
class pincel extends papel{
public void usarpincel(){
System.out.println("Usar pincel...");
}
}
//nivel 2 (brocha)
class brocha extends papel{
public void usarbrocha(){
System.out.println("Usar brocha...");
}
}
//nivel 3 (escribir con pincel)
class escribir extends pincel{
public void escritura(){
System.out.println("Escribiendo...");
}
}
//nivel 3 (dibujar con pincel)
class dibujar extends pincel{
public void dibujo(){
System.out.println("Dibujando...");
}
}
//nivel 3 (pintar con brocha)
class pintar extends brocha{
public void pinta(){
System.out.println("Pintando...");
}
}
//nivel 3 (colorear con brocha)
class colorear extends brocha{
public void colorea(){
System.out.println("Coloreando...");
}
}
//Principal
public class Jerarquia {
public static void main(String[] args) {
System.out.println("1- ");
escribir e = new escribir();
e.start();
e.usarpincel();
e.escritura();
System.out.println("2- ");
dibujar d = new dibujar();
d.start();
d.usarpincel();
d.dibujo();
System.out.println("3- ");
pintar p = new pintar();
p.start();
p.usarbrocha();
p.pinta();
System.out.println("4- ");
colorear c = new colorear();
c.start();
c.usarbrocha();
c.colorea();
}
}
Resultado:
run:
1-
Coger tipo puntero...
Usar pincel...
Escribiendo...
2-
Coger tipo puntero...
Usar pincel...
Dibujando...
3-
Coger tipo puntero...
Usar brocha...
Pintando...
4-
Coger tipo puntero...
Usar brocha...
Coloreando...
BUILD SUCCESSFUL (total time: 0 seconds)
Crear una subclase usando la herencia.
Código (EjemploSubClase.java):
package ejemplosubclase;
// Clase base
class Vehiculo {
// Método
public void arrancar() {
System.out.println("Arrancar");
}
}
// Subclase de la clase base
class Coche extends Vehiculo {
// Método
public void conducir() {
System.out.println("Conducir");
}
}
public class EjemploSubClase {
public static void main(String[] args) {
System.out.println("Crear coche...");
Coche c = new Coche();
c.arrancar();
c.conducir();
}
}
Resultado:
run:
Crear coche...
Arrancar
Conducir
BUILD SUCCESSFUL (total time: 0 seconds)
package ejemplosubclase;
// Clase base
class Vehiculo {
// Método
public void arrancar() {
System.out.println("Arrancar");
}
}
// Subclase de la clase base
class Coche extends Vehiculo {
// Método
public void conducir() {
System.out.println("Conducir");
}
}
public class EjemploSubClase {
public static void main(String[] args) {
System.out.println("Crear coche...");
Coche c = new Coche();
c.arrancar();
c.conducir();
}
}
Resultado:
run:
Crear coche...
Arrancar
Conducir
BUILD SUCCESSFUL (total time: 0 seconds)
Suscribirse a:
Entradas (Atom)
Con la tecnología de Blogger.