系列文章目录
面向对象编程是利用 类和对象编程的一种思想。万物可归类,类是对于世界事物的高度抽象 ,不同的事物之间有不同的关系 ,一个类自身与外界的封装关系,一个父类和子类的继承关系, 一个类和多个类的多态关系。万物皆对象,对象是具体的世界事物,面向对象的三大特征封装,继承,多态,封装,封装说明一个类行为和属性与其他类的关系,低耦合,高内聚;继承是父类和子类的关系,多态说的是类与类的关系。
前言
1、OOA:面向对象分析方法,是确定需求或者业务的角度,
按照面向对象的思想来分bai析业务。
2、OOD:面向对象设计方法是OO方法中一个中间过渡环节。
其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。
3、OOP:面向对象程序设计作为一种新方法,其本质是以建立模型体现出来的
抽象思维过程和面向对象的方法。
提示:以下是本篇文章正文内容,下面案例可供参考
一、面对对象编程
二、三大特性
三大特性: 封装 继承 多态
1.封装
1.为什么需要封装
隐藏一个类中不需要对外提供的实现细节;
属性的封装:使用者只能通过事先定制好的方法来访问数据,可以方便地加入逻辑控制,限制对属性的 不合理操作;
方法的封装:使用者按照既定的方式调用方法,不必关心方法的内部实现,便于使用; 便于修改,增强 代码的可维护性;
封装
1、保证安全
2、提供便捷访问的方式
获取使用private修饰的属性/方法
保护属性不被修改
提供访问方式
2.如何封装
public void setName(String name){
//赋值专用方法
this.name=name;
}
public String getName(){
//取值专用方法
return name;
}
2.继承
子类继承父类的方法和属性
子类用extends
public class dog extends pet{
//调用子类对象的方法时,可以调用子类中继承的父类方法
//被重写的方法,用子类的重写方法
//若被重写,还想调用父类方法,用super关键字来调
}
子类访问父类构造方法,不受重写影响
super();
super(name);//访问父类属性
super.name;//访问父类方法
super.print();
父类和子类构造方法的关系
当子类没有使用super()或者this()的方式指定调用构造方法时,或者没有方法重写
,会默认调用父类构造方法
super只能出现在子类的方法和构造中
super关键字的作用
只能出现在子类的方法中
用来区分父类和子类同名属性或方法
3.多态
一个事物的多种形态
子类对象引用父类类型
Man man=new Man(); //Man() 新建了两个,有两个变量可以作为这个对象的代表
man.eat();
Person p2=new Man(); //又称为 对象的多态性:父类的引用 指向 子类的对象
p2.eat();
多态的使用:当调用子父类同名参数方法时,实际使用的是子类重写父类的方法–(虚拟方法调用)
但是父类引用不能调父类里面没有的方法----编译看左边,执行看右边
1.向下转型
子类特有方法,父类类型没有办法直接访问,需要强制转换才可以
Man m1=(Man)p2;
Person p2通过Man强转 使m1可以运行子类Man()中的方法–
使用强转时可能出现异常
2.关键字instanceof
关键字instanceof:
a instanceof A :判断对象a是否是类A的实例。如果是返回true,不是则返回false
为了避免出现向下转型时出现异常,先用instanceof进行判断,true就转型
总结
提示、