面向对象编程
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类
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();
}
}