java面向对象编程

来源:互联网 发布:2015中国进口粮食数据 编辑:程序博客网 时间:2024/05/25 01:34

面向对象编程

Object Oriented Programming 简称OOP

什么是面向对象编程

世界万物皆对象,一切都是对象!

1,类:是对一类事物的抽象描述,
注意:在程序里面定义好一个类以后,并不能真正的运行,如果要使类发挥效果运行起来,必须创建对象
类包含属性和方法
构造方法:是在创建对象的时候调用

2,对象为什么有要使用对象名来引用:
1)更加方便的调用方法和属性
2)可以多次使用这个对象

3,属性的定义
1)确定类型(可以是基本类型,也可以是自定义类型)
2)娶个名字(变量名)
3)添加private属性,添加get/set方法

4,方法的重载
1)方法名一样
2)参数不一样(参数的个数,参数的类型, 参数的顺序)
3)参数的返回值不一致不叫做重载

5,构造方法:
1)给对象的属性赋初值(初始化),一般在创建对象的时候调用

案例1:

添加公有属,性speed 添加私有属性档位dang 添加私有属性牌子brand  为私有属性添加get,set方法

添加方法go(),输出信息:汽车行驶中,正常行驶45码,档位3

添加方法go(int speed)输出信息:brand汽车行驶中,速度speed码,档位dang

提示:

添加方法go(int speed,int dang)

添加方法go(String brand,int speed;int dang)


package com.hp.Car;

public class Car {
 public int speed;  //码
 private int dang;  //档位
 private int brang; //车牌
 public void Car(int dang,int brang,int speed){
this.dang=dang;
this.brang=brang;
this.speed=speed;
 }

public int getSpeed() {
return speed;
}


public void setSpeed(int speed) {
this.speed = speed;
}


public int getDang() {
return dang;
}

public void setDang(int dang) {
this.dang = dang;
}

public int getBrang() {
return brang;
}

public void setBrang(int brang) {
this.brang = brang;
}
public void go(){
System.out.println("汽车行驶中正常时速:45 档位:3");
}
public void go(int dang,int speed){
System.out.println("汽车行驶中,正常行驶:"+speed+"码"+":档位:"+dang);
}
public void go(int dang ){
System.out.println(" brang汽车行驶中:"+speed+"码"+":档位:"+dang);
}
}

创建测试类测试

package com.hp.Car;
public class Test {
public static void main(String[] args) {
Car c=new Car();
c.go();
c.go(3,45);
          c.go(3, 4);
}
}

案例三:定义person类

添加私有属性namesexage,添加getset方法;添加构造器初始化三个属性;添加eat方法,输出:吃饭中。。。
定义Farmer类,继承Person,添加私有属性种植品种,添加构造器初始化属性,添加自我介绍的方法;重写eat方法,输出:填肚子去。。。
定义Worker,继承Person,添加属性岗位position,添加构造器初始化属性,添加自我介绍的方法;重写eat方法:输出:米西ing。。。
package com.hp.Person;
public class Person {
  private String name;
  private String sex;
  private int  age;
  public  Person(String name,String sex,int age){
 this.name=name;
 this.sex=sex;
 this.age=age;
  }
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void js(){
System.out.println("--姓名:"+getName()+"--性别:"+getSex()+"--年龄:"+getAge());

}
  public void eat(){
 System.out.println("吃饭");
  }
 }


package com.hp.Person;
public class Farmer extends Person{
 private String ping;
 public  Farmer(String name,String sex,int age){
 super(name,sex,age);
 }
public String getPing() {
return ping;
}
public void setPing(String ping) {
this.ping = ping;
}
public void JS(){
System.out.println("--姓名:"+getName()+"--性别:"+getSex()+"--年龄:"+getAge());
}
 public void eat(){
System.out.println("填肚子去!");
 }
}

package com.hp.Person;
public class WorKer extends Person{
public WorKer(String name, String sex, int age) {
super(name, sex, age);
}
public String Position;
public void JS(){
System.out.println("--姓名:"+getName()+"--性别:"+getSex()+"--年龄:"+getAge());
}
public void eat(){
System.out.println("米昔ing");
}
}

最后测试类测试

package com.hp.Person;
public class Test {
   public static void main(String[] args) {
  Person p=new Person("紫霞", "女", 18);
  Farmer f=new Farmer("至尊宝", "男", 20);
  WorKer w=new WorKer("至尊玉", "男", 19);
  p.js();
  f.JS();
  w.JS();
  p.eat();
  f.eat();
  w.eat();
}
}

原创粉丝点击