使用JAVA面向对象编程

面向对象设计的过程

也就是从现实世界中抽象出程序开发中的类,实现从现实到虚拟的转化,再对抽象出的类进行操作,实现对现实世界行为的模拟,然后对抽象出的类进行优化,通过封装隐藏类的内部信息以提高安全性。

面向对象的核心

对象面向过程的核心是函数,以功能为中心,实现函数级别的代码重用。面向对象的核心是封装了属性和方法(行为)的类,以数据为中心,实现类级别的代码重用。面向对象因为采用了类,所以具有继承和多态特性,可以进一步重用代码和简化编程,而面向过程中没用继承和多态特性。

对象和类的区别与联系 :世间万物皆对象,类是封装对象的属性和行为,类是对象的抽象,而对象是类的实例。

2.定义类的方法:(1)定义类
(2)编写属性
(3)编写方法

  1. 封装的好处和步骤 :(1) 提高了数据的安全性: 别人不能够通过 变量名.属性名 的方式来修改某个私有的成员属性。
    (2)操作简单: 封装后,多个调用者在使用的时候,只需调用方法即可,调用者不需要再进行判断。
    (3)隐藏了实现实现过程对调用者是不可见的,调用者只需调用方法即可,不知道具体实现过程。
    原文链接:https://blog.csdn.net/qq_34801506/article/details/81005950
  1. 方法重载: 如果一个类中包含了两个或两个以上的方法,他们的方法名相同,方法参数的个数或参数类型不同 ,则称该方法被重载了,这个过程称为方法重载,成员方法和构造方法都可以重载。 示例: System.out.println(45);
    System.out.println(true);
    System.out.println(“狗狗在玩耍”);
  2. 方法重载的判断依据:(1)必须在同一个类里。
    (2)方法名相同。
    (3)参数列表(方法参数的个数和参数类型)不同。
    (4)与方法返回值和方法修饰符没有任何关系。
    示例:
package basetest;/** 
  *  
  * @author Administrator 
  *案例分析:对于main最后一行代码有两个坑 
  *1.调用的是Test类的哪一个方法? 
  *这一步看重载  
  *2.对于传递的参数(son),方法体重调用的是谁的方法 
  *这一步看重写 调用的是子类的方法  
  * 
  * 
  */ 
  publicclassOverrideDemo{ 
        publicstaticvoidmain(String[] args){ 
           Father father =newSon();  
           father.show();//运行期绑定:重写看对象(new的是谁调谁的方法) 
           Test test =newTest(); 
           test.test(father);//编译器绑定:重载看引用(等号前的类型是谁调谁的方法) 
       } 
   }classTest{ 
      voidtest(Father father){  
          System.out.println("父型参数");
          father.show(); 
       }   
      voidtest(Son son){  
          System.out.println("子型参数"); 
          son.show(); 
       }}classFather{ 
        protectedvoidshow(){  
            System.out.println("我是老子!");}}classSonextendsFather{ 
       /**  
        * Cannot reduce the visibility of the inherited method from    Father  
        不能减少来自继承方法的可见性  
        子类访问权限要大于父类 
        *//* void show(){ 
                    }*/ 
        publicvoidshow(){  
            System.out.println("我是儿子!"); 
        } 
        publicvoidshow(String name){
            System.out.println("我是儿子:名字是"+name); 
        }}

原文来自:百度文库(风之谷浴火重生)
6. 对类进行封装: 通过private、protected、public和默认的权限控制符来实现权限的控制
封装时会用到多个权限控制符来修饰成员变量和方法,区别如下:
(private):成员变量和方法只能在其被定义的类中被访问,具有类可见性。
(默认):成员变量和方法只能被同一个包里的类访问,具有包可见性。
(protected):可以被同一个包中的类访问,被同一个项目中不同包中的子类访问。
(public):可以被同一个项目中的所有类访问,具有项目可见性,这是最大的访问权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值