面向对象编程:封装、继承和多态

1,面向对象------封装(3W1H)
(1)为什么要使用封装?
为了不让外界随意修改或访问该类的属性,对属性进行私有化(private),从而隐藏细节。
(2)封装的实现方式:
私有的属性+公共get/set方法
getXxx()/setXxx();
private String name;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
(3)封装的好处:增加了数据访问的限制,增强了程序的可维护性和灵活性。
2,构造方法
(1)功能:创建对象的
(2)调用方式:new 构造方法(参数);
(3)场合:初始化属性,给属性赋值…
(4)语法:
public 类名([参数]){
//给属性赋值
}
public B(){
}
(5)构造方法的意义:
a,构造方法是用于创建对象的,使用new关键字来进行调用。
b,作用:初始化工作
(6)默认构造方法:任何类都会有一个默认的无参构造方法
注意:一旦自己定义了构造方法,则默认的无参构造方法就不会产生了。
3,实现封装:私有化属性+公共的getter/setter方法
private String name;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
4,方法的重载:名同参不同
5,继承
(1)为什么需要继承?
为了代码的复用性
(2)Java继承VS生活中的继承
a,子类会继承父类的所有属性和方法
b,Java只支持单继承
(3)继承的概念:子类具有父类的一般特性(属性+方法),以及自身的特殊的特性。
(4)继承的实现:使用extends关键字
public class A extends B{
public A(){
super();
}
}
Java编码规范:定义一个类时,可以有多个带参的构造方法,但是一定记着写上无参构造方法,即便是不使用!!!
(5)方法的重写:在子类中方法的名称、参数、返回类型都和父类一样,但实现不同。
public 返回类型 方法名(参数){
方法实现
}
*注意:方法的重写中,访问修饰符可以被放大不能缩小。
public—>protected—>默认—>private
(6)继承中的super关键字
a,super.属性/方法:调用父类的属性或方法----------->super特指父类对象
b,super([参数]):调用父类的构造方法---------------->只能写在子类的构造方法中并且第一行!
(7)一切类的祖先Object
(8)实现继承后,创建子类对象,初始化的流程如下:
父类的属性;
父类的构造方法;
子类的属性;
子类的构造方法;
(9)关于java中的访问修饰符权限
1 private
2 默认(friendly)
3 protected
4 public
本类:1234
同包:234
子类:34
其他:4
(10)租车系统的分析
a,抽取父类:车
属性:品牌,车牌
方法:计算租金
6,多态
(1)多态的概念
多态既多种形态,指的是同一个接口(父类),使用不同的实例(子类)而执行不同的操作。
(2)为什么需要多态?扩展性
使用多态之后,当需要增加新的子类类型时,无需更改父类,程序的可扩展性及可维护性增强
(3)多态的表现形式
第一种:
父类 对象=new 子类();
对象.方法(); ----------->会调用子类重写的方法
第二种:
定义方法(父类)-------->调用方法(子类);
方法中就会调用子类重写的方法

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值