Java封装继承多态

Myth丶恋晨 2022-01-23 03:45 447阅读 0赞

封装:

封装:

  1. Encaplation
  2. private将不期望被外界访问的方法和属性隐藏起来
  3. **封装对于类的开发者和使用者都有好处:**
  • 对于类开发者:
    能够让数据得倒保密 得到隐藏 从而更加安全
  • 对于类的使用者:
    能够让使用者将经理 全部集中在核心业务逻辑上

类的开发应当高内聚 低耦合
-—————- 内聚:独立完成功能的能力 - 自强不息 自己的事情自己做
-——————耦合:模块与模块之间的依赖关系

所有的属性应当用private修饰
-——————并且提供两个public方法 setter getter
可以给设置和得到属性一种统一的方式 有助于代码的解耦
可以让程序员拿回主动权 让程序员决定 是否需要用户设置和得到属性

所有方法应当考虑:
一个方法究竟是给外界提供的核心方法 还是给核心方法服务的方法
核心方法用public修饰
给核心方法服务的方法应当用private对外屏蔽

  1. class Teacher{
  2. private String name;
  3. private int age;
  4. public void setName(String name){
  5. this.name = name;
  6. }
  7. public String getName(){
  8. return name;
  9. }
  10. public void setAge(int age){
  11. this.age = age;
  12. }
  13. public int getAge(){
  14. return age;
  15. }
  16. //吃饭的方法
  17. private void eat(){
  18. System.out.println("吃饭啦!");
  19. }
  20. //睡觉的方法
  21. private void Sleep(){
  22. System.out.println("睡觉啦!");
  23. }
  24. //还会LOL
  25. private void LOl(){
  26. System.out.println("LOL!");
  27. }
  28. //我的核心方法
  29. public void teach(){
  30. sleep();
  31. eat();
  32. LOL();
  33. SYstem.out.println("I am a techer!");
  34. }
  35. }

继承:

extend 建立两个类之间 is a的关系

  • *:Java中的类 全部继承Object
  • *:Java当中的类只支持单根继承 接口是允许多重继承的

关于继承:

关于私有属性 有没有继承 能不能继承 算不算继承

  • 私有属性在子类的存储空间当中它是切实存在的
  • 但是是由于Java当中创建对象的流程所决定的
  • private 访问控制权限修饰符

多态:

Polymorphism

  • 静态多态 编译多态:java当中的方法重载
  • 动态多态 运行时多态:一个对象总有多种称呼他的类型 一个事物总有多种存在的形态
    *: 动态多态出现肯定会伴随着一种语法:
    + 父亲类型 = 子类对象;
    + 接口类型 = 实现类对象;

多态需要注意什么?
对象是在内存中客观存在的 不会因为改变称呼它的类型而发生任何便把
但是编译器看等号左边的类型进行语法检查

多态存在的价值?
*:能够让先开发完成的类型在不做任何修改的情况下 跟之后开发出来的新的类型结合起来使用 而且不需要改变
*:多态的存在能够降低人与人 组与组之间的耦合关系

  1. public class TestPoly{
  2. public static void main(String[] args ){
  3. Restaurant = new Restaurant();
  4. Chinese xiaoBo = new Chinese();
  5. American xiaoAo = new American();
  6. kfc.service(xiaoBo);
  7. kfc.service(xiaoAo);
  8. }
  9. }
  10. class Restaurant{//餐厅
  11. //传统方式 过耦合
  12. public void service(Chinese xiaoAo){
  13. xiaoAo.eat();
  14. }
  15. public void service(Japanse xiaoAn){
  16. xiaoAn.eat();
  17. }
  18. public void service(American xiaoAa){
  19. xiaoAa.eat();
  20. }
  21. //多态的应用
  22. public void service(People xiaoRen){
  23. xiaoRen.eat();
  24. }
  25. }
  26. //多态
  27. public void service(People )
  28. class People{
  29. public void eat(){
  30. System.out.println("人类吃饭!");
  31. }
  32. }
  33. class Chinese extends People{
  34. public void eat(){
  35. System.out.println("中国人吃水饺");
  36. }
  37. }
  38. class American extends People{
  39. public void eat(){
  40. System.out.prinlnt("美国人吃牛排");
  41. }
  42. }

发表评论

表情:
评论列表 (有 0 条评论,447人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java继承 封装

    继承概念:简单说就是一个类使用extends来关联另一个已存在的类(API中的或者自己写的),Java继承是面向对象的最显著的特征之一并且一个类只能单继承(只能继承一个 类)不

    相关 封装继承

    封装: 含义: 1. java中,对象就是一个封装体。 2. 把对象的属性和服务结合成一个独立的单位,并尽可能隐蔽对象的内部细节(尤其是私有数据) 3. 目的

    相关 封装继承

    一、封装:   封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。   封装的意义:
  

    相关 继承封装

    一、封装:   封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。 封装的意义:   

    相关 继承 封装

    1.继承的好处:方便我们优化代码,提高扩展性 继承的使用: 父类的引用指向了子类的对象,如果用父类的这个引用指向了多个子类的对象,那么这个引用就可以调用这多个子类从父类

    相关 封装继承

    面向对象的三个基本特征 面向对象的三个基本特征是:封装、继承、多态。其中,封装 可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代