面向对象编程(oop)
产物:木箱
面向过程:
--局部思考问题--
- 找材料,箱底。
- 找坐箱底所需工具
- 做箱身,需要胶水,需要木钉
- 做箱盖,开孔工具
- 产物:木箱
- 走一步看一步
- 独立思考和解决问题
面向对象:(万事万物皆对象)
--全局规划--
1.需要东西(材料,工具)
木材 工作 胶水 木钉
- 思考能不能知道对应东西上面行为或者功能能够解决对应问题。
- 对象
1、对象概念:
2.1.什么是对象:
现实中:实实在在的事物(能够用语言描述特征或者行为/功能)
程序中:在堆中分配内容(类的实例)
2.2.类的概念:
2、什么是类(物以类聚)
定义:具有相同特征和行为/功能的一类事物
现实中: 电话类:通话|发短信
程序中:把具有明确定义的特征和行为的事物抽象 /表述为一类对象
3、程序中类定义语法:
3.1、 Public class 类名{
//类中的成员变量
//定义属性
//定义变量
//定义常量
//类中的成员方法
//方法定义
}
3.2、伪代码:
Public class Phone{
//类中成员变量/属性->特征
String kind; //品牌
Float price ; //价格
String shade; //形状
String color; //颜色
//类中方法->行为/功能
//通话的方法
void call(){
system.out.println(“打电话”);
}
//发短信的方法
}
(
3.3、包的概念:管理定义的类
命名: 1:包名称所有的字母必须小写
2:根据宣传域名倒过来写
作用:把不同的类进行分类管理
)
3.4、对象的实例化(创建一个具体的类)
类名称 对象=new 类名称();
对象.属性/变量=赋值;
对象.通话();
3.5、生成图解:
注意:
1.new生成对象后,类中的成员才属于类的实例,而不属于类。
2.第一句:首先在栈里查找 是否有10这个值,如果有,它把10赋值给a,如果没有,在栈中申请一块内存空间,存入10.(a在内存里面不在栈内)
3.第二局:因为a赋值给b,10又赋值给a,所以会先在栈内查找10,过程和第一句相同
4. 1为main方法入栈
2为main方法弹栈
5.类的默认构造函数,对象创建后,就会调用默认构造函数。
6.访问权限说明:
Public protected 默认访问修饰符 private
本类: √ √ √ √
同包: √ √ √
子类: √ √
不同类: √ ×
4、类和对象的关系:
- 类是对象的模板(类是一张设计图纸)
- 对象是类的实例(设计图纸具体产物)
4、方法定义:
<方法访问修饰符><方法修饰符> 返回类型/void方法名称(参数列表【参数类型,参数个数】){
方法体(方法具体实现逻辑)
<方法返回类型不为void,那么必须使用return关键字体现 方法返回结果>
}
访问修饰符:private protected 默认 public
方法修饰符:static final abstract修改方法 不存在方法的实现 synchinozied
返回类型:自定义类类型,基本数据类型,void
参数列表:参数类型,参数个数
返回结果:方法返回类型必须和定义返回类兼容
--无参数的方法,无返回值的方法
public void method(){
}
--无参数的方法,有返回值的方法
public int method(){
return 10;
}
--有参数,无返回值
public void method(float price){
}
有参数,有返回值
public String method(String name){
return “我是”:name;
}