类和对象浅谈(2)

20 篇文章 0 订阅

上一篇简单的聊了一下如何初始化对象,这一篇我们简单的聊一下面向对象的三大特性(其实不止,但就这三种体现的最明显),封装、继承、多态,封装之前我们已经讲了 就是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值