style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Principios Basicos

Programacion Orientada a Objetos
Las Clases y los Objetos son elementos importantes de la P.O.O. (Programación Orientada a Objetos). Podemos definir Clase como una “entidad abstracta” o abstracción de un concepto que define a los objetos. Un objeto es una instancia de una Clase, en otras palabras un Objeto es una "entidad concreta".

Una clase describe un comportamiento y estructura, que serán adoptados por cada Objeto. Para esto en una clase se definen variables miembro (también llamados atributos) y métodos para manipular dichas variables (estudiar concepto de encapsulación)

Cada objeto se distingue de los demás por su estado, es decir los valores de sus atributos.

1.-Clases

Una clase es un tipo de dato abstracto equipado con una implementación posiblemente parcial.

Como un TDA (Tipo de Datos Abstracto), una clase es un tipo pues describe un conjunto de posibles estructuras de datos, llamados los atributos o variables de instancia de la clase. Los TDAs también tienen instancias; la diferencia es que una instancia de un TDA es un elemento puramente matemático (un miembro de algún conjunto matemático), mientras que una instancia de una clase es una estructura de datos que puede ser representada en la memoria de un computador y manipulado por un sistema de software.

Control de Acceso puede ser: private, public o protected .

Sintaxis para Definir una clase:

<control de acceso> class <nombre clase> {
<atributos>
<constructores>
<métodos>
}

Tipos de Clases:

abstract

Una clase abstract tiene al menos un método abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia.

final

Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. Por ejemplo, la clase Math es una clase final.

public

Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas.

synchronizable

Este modificador especifica que todos los métodos definidos en la clase son sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desde distintos threads; el sistema se encarga de colocar los flags necesarios para evitarlo. Este mecanismo hace que desde threads diferentes se puedan modificar las mismas variables sin que haya problemas de que se sobreescriban.

2.-Atributos
El control de acceso define si un atributo será privado (private) o público (public). Un atributo privado en una clase implica que sólo los métodos de esa clase (de ninguna otra) pueden usar (consultar o modificar) dichos atributos. Esto se traduce en que sólo los objetos que se creen, de tal clase, podrán trabajar con tales atributos.

Un atributo público, por el contrario, puede ser usado (consultado o modificado) por los métodos de cualquier clase, esto se traduce en que cualquier objeto (sin importar la clase que los define) podrá usar tales atributos.

Ejemplo:
A continuación se definen los atributos de una clase llamada Tiempo:

public class Tiempo {	// Atributos
	private int hr, min, seg;
}

3.-Constructores
Un Constructor es una función, método, etc, de las clases, la cual es llamada automáticamente cuando se crea un objeto de esa clase.

Por ser métodos, los constructores también aceptan parámetros. Cuando en una clase no especificamos ningún tipo de constructor, el compilador añade uno público por omisión sin parámetros, el cual NO hace nada.

Características de los Constructores:
1. Un constructor, tiene el mismo nombre de la clase a la cual pertenece.
2. No puede ser Heredado.
3. No retorna ningún valor (Ni void), por lo cual no debe especificarse ningún tipo de dato.
4. Debe declararse como public, sólo en casos realmente extraordinarios será de otro tipo

public <nombre clase>([<lista de parámetros>])  {
[<sentencias>]
}

Un constructor siempre debe ser definido como público, de manera que sea posible, para cualquier objeto, crear objetos de cualquiera otra clase (definida como pública). Esto llevado al plano de las definiciones de clases, cualquier método que lo requiera podrá crear un objeto de la clase que sea, según las necesidades que se tengan en virtud del problema a resolver.

Cualquier mejora dejarme su comentario. Gracias
Saludos.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de santos.r09

synchronized

Hola JaimeItlzc, oye una correción, las clases No pueden ser synchronized, solo Métodos y Bloques de código.
Saludos.

Imagen de pacovr

Constructores si pueden tener modificadores de acceso

JaimeItlzc

Los constructores si pueden tener modificadores de acceso. En java: public, protected, private o default (package access)

Por ejemplo para generar un Singleton, declaras el constructor privado para que nadie sea capaz de instanciar tu objeto con un new.
Saludos

Imagen de JaimeItlzc

Si lo se

Si lo se por eso en el punto 4 del tema constructores agrego 4. Debe declararse como public, sólo en casos realmente extraordinarios será de otro tipo.

Saludos y gracia por sus comentarios para mejorar.

Ayuda

como puedo llamar o un jframe desde un evento de otro pasandole valores

hola una pregunta soy nuevo

hola una pregunta soy nuevo en el tutorial, me llamo julian soy de colombia y tengo una duda
necesito saber como desde mi clase TestTcc envio ciudad como String al metodo consultarCiudad

import javax.swing.JOptionPane;
public class TestTcc {
public static void main(String args[]){
Tcc julilosa=new Tcc();
//el objeto ya tiene identidad.
julilosa.setCiudad(JOptionPane.showInputDialog("Ingrese la ciudad a consultar "));
//Los objetos se colaboran entre si.
System.exit(0);

import javax.swing.JOptionPane;
public class Tcc{
String ciudad=new String();

public String getCiudad() {
return ciudad;
}

public void setCiudad(String ciudad) {
this.ciudad = ciudad;
}

public void consultarCiudad(){
if (ciudad==armenia){
JOptionPane.showMessageDialog(null,"la ciudad es armenia");
}
}

}

}
}

Imagen de JaimeItlzc

Parametros-Argumentos

String Ciudad=JOptionPane.showInputDialog("Ingrese la ciudad a consultar "));
tcc.setCosultarCiudad(ciudad); //Aqui enviamos el parametro al metodo Consultar Ciudad

Y asi lo recibimos:

public void consultarCiudad(String ciudad){
if (ciudad.equals("armenia"){
JOptionPane.showMessageDialog(null,"la ciudad es armenia");
}
}

Posdata Tienes muchas cosas mal.
Saludos.

Imagen de francisco.santiagoj

@jaime

@Jaime, al recibir el valor y hacer la validacion deberia ser ciudad.equals("armenia"); no?

Saludos

Imagen de JaimeItlzc

Acaray

Acaray y como esta?

:S

Lo dices por el ";" o por que?

Imagen de francisco.santiagoj

jajaja

Por postear desde mi telefono me tarde y lo corregiste verdad?

Imagen de JaimeItlzc

Si, suspuse

Si, suspuse que alguien hiba a contestar por que pues habia estado mal solo que no tarde mucho en corregirlo.

Saludos

sigue fallando

sigue sin funcionar que hay algo malo desde me clase main
import javax.swing.JOptionPane;
public class Tcc{
private String ciudad;

public String getCiudad() {
return ciudad;
}

public void consultarCiudad(String ciudad){
if (ciudad.equals("armenia")){
JOptionPane.showMessageDialog(null,"la ciudad es armenia");
}
}

}

import javax.swing.JOptionPane;
public class TestTcc {
public static void main(String args[]){
Tcc julilosa=new Tcc();

//el objeto ya tiene identidad.
String Ciudad=JOptionPane.showInputDialog("Ingrese la ciudad a consultar ");
julilosa.setCosultarCiudad(ciudad);
System.exit(0);
}
}

si yo se que tengo muchas cosas malas por eso estoy aqui y tu estas aqui para resolverlar no???
gracias por tu ayuda

Imagen de JaimeItlzc

No confundas

No confundas las situaciones estoy para responder pero tu tambien investigale.

import javax.swing.JOptionPane;

public class ConsultaCiudades{
   public void consultarCiudad(String ciudad){ //Recibimos parametros como argumentos del metodo
       if (ciudad.equals("armenia")){
          JOptionPane.showMessageDialog(null,"la ciudad es armenia");
        }
        else{
                JOptionPane.showMessageDialog(null,"La ciudad se perdio");
        }
    }

public static void main(String args[]){
  ConsultaCiudades obj =new ConsultaCiudades();

String ciudad=JOptionPane.showInputDialog("Ingrese la ciudad a consultar ");
obj.consultarCiudad(ciudad); //Enviamos parametos al Metodo
  }
}

Que te vaya bien. No te cuesta nada buscar como enviar parametros y recibir parametos (Metodos y mensajes)
Saludos.

Imagen de francisco.santiagoj

Para resolver?

@julilosa, como dice el buen Jaime, también tienes que poner de tu parte para que se te pueda ayudar, no se ve nada bien que vengas a pedir que te resuelvan tus problemas, mejor pide ayuda y orientación, recuerda que en el pedir esta el dar.

Saludos

gracias

ok lo tendre en cuenta de todas maneras muchas gracias por la colaboracion, no es por escudarme pero no tengo mucha experiencia programando por no decir que nada y espero con la ayuda de ustedes pueda comenzar a subir mi nivel, si depronto estoy en el lugar equivocado y me pueden recomendar un foro para principiantes con gusto recibiria es ta informacion
gracias de nuevo

gracias

jaime muchas gracias y lo tendre en cuenta

Imagen de francisco.santiagoj

@julilosa

Yo también estoy bien verde en Java, pero vamos a ver como te ayudamos, por eso no te preocupes, si algo he visto en este foro es que simpre hay ayuda y orientación :), únicamente necesitas proporcionar mas información y lo mas importante, ¿que errores te esta arrojando al correr o compilar la clase?.

Saludos.

@juliosa @francisco

@juliosa @francisco

Imagen de francisco.santiagoj

@OscarRyz

Que paso Oscar?

jajaj creo que tuve un

jajaj creo que tuve un lapsus estupidus y ya no escribí nada. .. .ejejej sorry

Lo que les ibva a decir que lo que empezó como un tema de principios básicos de java terminó en algo diferente. Cuando eso pase, mejor creen un tema nuevo.

Pero... ya no se los dije :P

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">