您的位置:首页 > 其它

类和对象浅谈(2)

2015-10-02 20:10 232 查看
上一篇简单的聊了一下如何初始化对象,这一篇我们简单的聊一下面向对象的三大特性(其实不止,但就这三种体现的最明显),封装、继承、多态,封装之前我们已经讲了 就是get与set方法(但是这是对于一个类里面来讲的,如果在一个项目中的封装是指工具类一类被经常用而且独立的的代码将其组合成一个类,也叫封装),那我们就来说说 继承与多态

继承:用一句谈恋爱时撒娇的话说就是 你的是我的,我的还是我的。

专业术语是这样解释的:继承父类父类中的方法和属性包括构造方法,继承是可以传递的

那我们就来看一个例子吧

public class Dog{
private String name;
private  int money;
public Dog(String name,int money ){
this.name=name;
this.money=money;
}
public void sunds(){
System.out.println("旺!!旺!!");

}
public void eat (String name){
System.out.println(name+":"+"吃骨头");
}
public static void main(String[] args) {
Dog dog=new Dog("小狗1号",198);
Pig pig=new Pig("小猪1号",5,250);
pig.eat("猪");
dog.eat("狗");
pig.sunds();
dog.sunds();
double s=pig.money(250, 5);
System.out.println("猪能卖多少钱:"+s);
}
}
class  Pig extends Dog{
private  double zhongliang;
public Pig(String name, int money, double zhongliang) {//因为增加了新的变量所以构造函数需要重写
super(name, money);//调用父类中的构造函数(super指父类中的,this是指本函数中的变量或方法)
this.zhongliang = zhongliang;//对于新增的变量需要设置
}
public void eat(String name){//重写父类中的eat()函数
System.out.println(name+":"+"吃饲料");
}
public void sunds(){//重写父类中sunds方法
System.out.println("呼!!呼!!");

}
public double money(double zhongliang,int money){//新定义一个money函数计算这头猪能卖多少钱^_^!
return zhongliang*money;
}
}


不知道 各位看官 看明白木有 反正我是继承又有了进一步的认识,大家一起努力 努力 come on
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  对象 class 继承 多态