面向对象(OOP)

本篇内容主要是对面向对象三大特性,封装,继承,多态,进行粗略归纳。

基本概念

首先了解面向对象的核心思想:以类的方式组织代码,以对象的封装数据。其次是了解面向对象的两大角色——类和对象

  • 类:类的实例化后会返回一个对象

  • 对象:使用new关键字创建对象。不仅可以分配内存;对创建好的对象进行默认初始化;类中构造器的调用

代码运行角度考虑是先有类后有对象,类是对象的模板。

三大特性

    • 封装:

定义:属性私有,get/set

public class method {    
   private String name;       
     
   public String getName(){ 
   return name;  
    }    
   public void setName(String
   name) {  
   this.name = name;    
   }  //可对其进行安全性验证
}

作用:将类的内部细节自己完成,不允许外部干涉。仅暴露少量方法给外部使用。

    • 继承:

定义:子类(派生类)extends 父类,子类会继承父类所有方法

public class Students e

拓展

🔻super:

父类对象的应用,与之对应的是this,但super和this不能同时调用构造方法。

🔻overide(方法重写):

重写是方法的重写与属性无关,子类重写父类的非静态方法,执行的是子类。

💠特征

  • 方法名相同,参数列表相同

  • 方法体不同

  • 修饰符:从父类到子类范围可以扩大

public>protected>default(默认)>private

  • 抛出的异常:范围可以被缩小但不能扩大

💠作用

父类的方法子类不一定需要或满足

注意

  • 在java所有的类默认直接或间接继承object

  • java只有单继承没有多继承,即一个子类只能继承一个父类

  • private不能被继承

3. 多态:

定义:方法的多态。一个对象的实际类型是确定的,但是可以指向对象的引用类型有很多

拓展

🔻类型之间的转换

父类引用指向子类对象

  • 父类转子类:向下转型,强制转换

Person s=new student( );
student m=(student) s;
m.out( );
//或
( (student) s).out( );
  • 子类转父类:直接转换,可能存在方法的缺失

注意

  • 当父类与子类方法重写进行子类

  • 当只有父类有,执行父类

  • 当只有子类有而父类引用指向子类对象时需要进行强制转换

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值