Diretório do artigo
1. O que é programação orientada a objetos
OOP (Programação Orientada a Objetos, tantas vezes chamado OOP) não é exclusivo para Java, mas uma idéia de programação, Java, C ++, Python tem a sua realização. Sua essência é refletido no modelo de processo de pensamento abstrato e abordagem orientada a objetos para estabelecer. Modelo é usada para refletir as características das coisas no mundo real, qualquer modelo não pode refletir todas as características específicas de coisas objetivas, única uma regra de coisas abstratas e variedade, e mais geralmente no intervalo que abrange, mais focado e descrição mais profunda das características do objeto. Ao estabelecer o modelo para alcançar o resumo é aprofundar a compreensão do objeto das pessoas.
2, vantagens e desvantagens OOP
Prós: Fácil de manter e expandir, de alta capacidade de reutilização de código. Uma vez que não são objecto de encapsulamento orientada, herança, característica polimorfismo, o sistema pode ser concebido acoplamento baixo, tornando o sistema mais flexível.
Drawback: sobrecarga da CPU de grandes, ocupando mais recursos
3, as três características
Pacote: hidden propriedades do objecto e detalhes de implementação, mantendo apenas algumas das interfaces externos;
Herança: subclasses herdar os atributos e métodos da classe pai;
polimorfismo: uma pluralidade de capacidade ou a forma de diferentes formas do mesmo comportamento.
3.1, o pacote
modificador de acesso utilizado para conseguir o controle das propriedades e métodos, incluindo privada: Esta classe só pode acesso; padrão (permissões padrão): Este pacote só pode acessar; protegido: e subclasses pacotes em sucessão só pode ser acessado ; público: acessível. Em seguida, definir uma classe de objeto, atributos normalmente escondidos, fornecendo um conjunto comum, obter métodos de acesso.
/**
* @author RuiMing Lin
* @date 2020-03-05 16:01
*/
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() { return age; }
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
3,2, herança
Herança permite o acesso a todos os atributos e métodos da classe pai subclasses não-privadas, a reutilização de código é reduzida. Herança pode fazer a hierarquia de objetos, digite mais clara.
/**
* @author RuiMing Lin
* @date 2020-03-05 18:18
*/
public class Demo {
public static void main(String[] args) {
Son s = new Son("小明",23);
s.eat(); //从父类继承的方法
s.sleep(); //重新父类的方法
s.study(); //子类自己定义的方法
}
}
class Father{
String name;
int age;
public Father(String name, int age) {
this.name = name;
this.age = age;
}
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("父亲睡觉");
}
}
class Son extends Father{
public Son(String name, int age) {
super(name, age);
}
@Override
public void sleep(){
System.out.println("儿子睡觉");
}
public void study(){
System.out.println("儿子学习");
}
}
3,3, polimórfica
public abstract class Animal {
public abstract void eat();
}
class Cat extends Animal {
public void eat() {
System.out.println("吃鱼");
}
}
class Dog extends Animal {
public void eat() {
System.out.println("吃骨头");
}
}
public class Test {
public static void main(String[] args) {
// 多态形式,创建对象
Cat c = new Cat();
Dog d = new Dog();
// 调用showCatEat
showCatEat(c);
// 调用showDogEat
showDogEat(d);
showAnimalEat(c);
showAnimalEat(d);
}
public static void showCatEat (Cat c){
c.eat();
}
public static void showDogEat (Dog d){
d.eat();
}
public static void showAnimalEat (Animal a){
a.eat();
}
}
Como as características do polimorfismo apoio, tipo showAnimalEat animal de método, cão e gato é o tipo classe pai, tipo de objeto receptor pai subclasse, o objeto pode passar objeto Cat and Dog para o método. Quando a comer método executado polimorfismo, pré-determinada, uma subclasse substitui um método realizado, em seguida, consistente com o efeito de showCatEat natural, método showDogEat, é possível substituir o showAnimalEat acima de dois métodos. Não apenas uma alternativa, em termos de escalabilidade, se depois mais sub-categorias aparecem, não precisa método de gravação showXxxEat, o uso direto de showAnimalEat pode ser feito. Portanto, os benefícios de multi-estado, incorporadas no programa pode ser escrito em simples, e extensão bom.
3.3.1, regras de funcionamento multi-estaduais
Se o método pai de compilação (interface de pai) ou a própria classe, o erro não usar IDE, ver o funcionamento de um determinado tipo, classe ou se a classe do método, o erro não vai usar IDE.
- variáveis de membro: Olhar compilação esquerda, olhar para o lado esquerdo do prazo;
- Os métodos estáticos: compilação esquerda Olhe, olhe para o lado esquerdo do prazo;
- método não-estático: Olhar compilação esquerda, direita olhar do prazo.
4, resumo
idéias programação orientada a objetos diferentes da programação orientada a processos, a sua utilização e as especificações mais rigorosas. Java objeto programação orientada é que existem muitos mais padronizado, mais estudo aprofundado da necessidade de Java vai entender melhor.
Por favor, indicar o lugar errado! Pensei que ele estava em apuros se você pode dar um louvor! Congratulamo-nos com seção de comentários ou troca carta particular!