封装 继承 多态

封装(encapsulation)

隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别

      

继承

package com.gem.java.day2;

 

public class Animal {

   

    privateString name;

   

    privateint age;

 

    publicString getName() {

       returnname;

    }

 

    publicvoid setName(String name) {

       this.name= name;

    }

 

    publicint getAge() {

       returnage;

    }

 

    publicvoid setAge(int age) {

       this.age= age;

    }

   

    publicvoid  show(){

       System.out.println("------show(父)-----");

    }

   

    publicAnimal(){

       System.out.println("------Animal(无参)-----");

    }

   

    publicAnimal(String name,int age){

       System.out.println("------Animal(有参)-----");

       this.name=name;

       this.age=age;

    }

   

    publicstatic void main(String args[]){

       Animalanimal=new Animal();

       animal.show();

    }

   

   

 

}


多态

package com.gem.java.day2;

 

public class Cat extends Animal{

        

        

         inti;

        

         privateString type;

 

         publicString getType() {

                   returntype;

         }

 

         publicvoid setType(String type) {

                   this.type= type;

         }

        

         publicvoid show(){

                   System.out.println("------show(子)-----");

         }

        

         publicCat(){

                   //this和super不能同时出现在构造方法当中

                   //每一个有参或无参的构造,默认一个行代码就是super(隐含的)

                   //super的作用域指向父类(调用父类当中的属性和方法)

                   super();

//               this();

                   System.out.println("------Cat(无参)-----");

         }

        

         publicCat(String type){

                   System.out.println("------Cat(有参)-----");

                   this.type=type;

         }

 

         /**

          * @param args

          */

         publicstatic void main(String[] args) {

                   //TODO Auto-generated method stub

//               Catcat=new Cat();

//               cat.setName("猫");

//               cat.setAge(3);

//               cat.setType("波斯猫");

//               cat.show();

//               System.out.println(cat.getName());

                  

                   Animal animal=new Cat();

                   //1.必须有继承,多态一定是父子之间产生的关系

                   //2.有覆盖(override)

                   //3.父类引用指向子类对象

                   //编译时多态(按照父类编译)  运行时多态 (按照子类运行)

                   animal.show();

                  

         }

 

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
封装继承多态是面向对象编程中的三个重要概念。 封装是指将数据和对数据的操作封装在一个类中,通过访问修饰符来控制对数据的访问权限。这样可以隐藏内部实现细节,提高代码的安全性和可维护性。\[2\] 继承是指一个类可以继承另一个类的属性和方法。通过继承,子类可以重用父类的代码,并且可以在子类中添加新的属性和方法。这样可以提高代码的复用性和可扩展性。\[2\] 多态是指同一个方法在不同的对象上可以有不同的行为。通过多态,可以实现方法的重写和重载,使得程序可以根据对象的实际类型来调用相应的方法。这样可以提高代码的灵活性和可扩展性。\[1\] 总结起来,封装继承多态是面向对象编程的三个基本特性,它们可以使代码更加模块化、可维护和可扩展。 #### 引用[.reference_title] - *1* *2* [封装继承多态](https://blog.csdn.net/yahid/article/details/125665027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C++ 类的封装继承多态](https://blog.csdn.net/secondtonone1/article/details/124485035)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值