面向对象

Make efforts everyday

基于我身边的同学很多人刚接触面向对象,由此写一篇文章谈谈我对面向对象的理解(注:没有具体讲完全是按照老师的进度用能听懂的语言表达)。

java面向对象,书本上太杂,而老师的进度也快,如果想要写好一个完整的类(class),就必须知道一个类的构成。

一个类的构成必须是成员变量方法

     成员变量:类的属性(圆的属性是半径r)

     方法:1.构造方法(new 的时候体现出来)

        2.其他方法

例子1  圆类

public class Circle {
    private double r;//成员变量  private的意思是私有化,在其他类中不可调用

    public Circle() {//空参构造  可以Circle c1=new Circle();此时圆c1的半径为0.
        r=0;
    }

    public Circle(double r) {//有参构造  可以Circle c2=new Circle(2);此时圆c2半径是2,与空参不一样的是,这个有参构造可以传参
        this.r = r;
    }
    
    public Circle(Circle c) {//拷贝构造  了解即可,后面用不太到。Circle c3=new Circle(c1); 中间可以传一个圆,并将圆的半径赋给新圆
        r=c.getR();
    }
    
    public double getR() {//get方法  由于成员变量是private类型的,所以在外部无法用c1.r进行调用,所以要创建一个get方法在外部类得到半径,用法:c1.getR()
        return r;
    }

    public void setR(double r) {//set方法  由于成员变量是private类型,在外部也不可以进行c1.r=2进行赋值,所以创建一个set方法进行半径赋值,用法:c1.setR()
        this.r = r;
    }
     //下面可以添加一下其他方法,用的到的,如求圆的面积,周长等。
}

尝试写一个矩形类,并加一些其他方法,求矩形面积和周长。

例子2  员工类(下面看一个员工类的例子,步骤,确定成员变量,名字,年龄,确定方法,无参方法,有参方法,getset方法)

public class Staff {
    
    private String name;//成员变量
    private int age;
    
    public Staff() {//空参构造,默认名字为空字符串,年龄为0
        name="";
        age=0;
    }

    public Staff(String name, int age) {//有参构造,可以赋值
        super();
        this.name = name;
        this.age = age;
    }

    public String getName() {//get方法,获得名字
        return name;
    }

    public void setName(String name) {//set方法,设置名字
        this.name = name;
    }

    public int getAge() {//get方法,设置年龄
        return age;
    }

    public void setAge(int age) {//set方法,设置年龄
        this.age = age;
    }
    
}

尝试写一个学生类,成员变量有名字,年龄,id,住址,并尝试写一个打印方法,打印类中的名字,年龄,id,住址

 

posted @ 2018-10-20 15:58  SteveYu  阅读(221)  评论(0编辑  收藏  举报