oop的特征

来源:互联网 发布:平度市淘宝客服招聘网 编辑:程序博客网 时间:2024/05/16 15:29

1:面向对象的特征:
(1)封装:(私有的属性,公共的方法)
   封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口
public class Man

{

//对属性的封装,一个人的姓名,年龄,妻子都是这个对象(人)的私有属性

private String name;

private int age;

private Woman wife;

//对该人对外界提供方法的封装,可以设定妻子,姓名,年龄也可以获得男人的姓名和年龄
  // 方法封装
  public void setWife(Woman wife) {
  this.wife = wife;
  }
  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;
  }
  }
  public class Woman {
  // 属性封装
  private String name;
  private int age;
  private Man husband;
  // 方法封装
  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;
  }
  public Man getHusband() {
  return husband;
  }
  public void setHusband(Man husband) {
  this.husband = husband;
  }
  }
(2)继承:(子类自动拥有父类的属性和方法,但是私有的除外)
public class code {
  public static void main(String[]args){
   child grandson=new grandson();
   grandson.play2();
  
  }
}
public class father {
  private  void play(){
   System.out.println("father-play");
   }
  public void exit(){
   System.out.println("father-exit");
   }
   
  public void play2(){
   play();
   exit();
  }   
  
}
public class child extends father {
 public  void play(){
  
  System.out.println("child-play");
 }
 public  void exit(){
  
  System.out.println("child-exit");
 
 }
}
(3)多态:(同一种方法,有不同的实现)
public interface Parent//父类接口
{
    public void simpleCall();
}
public class Child_A implements Parent
{
    public void simpleCall();
    {
    //具体的实现细节;
    }
}

public class Child_B implements Parent
{
    public void simpleCall();
    {
    //具体的实现细节;
    }
}

0 0
原创粉丝点击