- 前言
- 一、面向过程与对象
- 二、面向对象三要素
- A、一个类认识面向对象
- 三、构造器
- 1、形式
- 2、四要素
- 3、重载
- 总结
- 参考文献
一、面向过程与对象1)面向对象是一种设计模式,如果你需要设计一个东西,就可以先抽象为一个类。
2)例如设计一辆车,你需要设计车的静态特征:轮子、方向盘、发动机等等;你需要设计车的动态行为:启动车、加速、减速等。
3)一个Java类带你入门面向对象。
1)区别
面向过程:一种执行模式,按一定步骤去执行。如造车,装车骨架、装发动机、装方向盘等等。
面向对象,一种设计模式,设计需要先抽象,再创新。如造车,轮子、发动机…
二、面向对象三要素2)联系
两者相互协作,通过面向对象设计物体,再通过面向过程完成目的。如先设计车,再造车。(宏观上面向对象的设计,微观上面向过程的执行。)
A、一个类认识面向对象1)静态特征
对物体特征的抽象过程,向上抽象出物体共同特征。
2)动态行为
对物体行为的抽象过程,向上抽象出物体共同行为。
3)构造器
抽象对应具体,类是一个抽象的过程,将类实例化就是一个具体的过程,该过程称为构造对象,需要构造器。
package com.xhu.java; import java.util.Date; import java.util.GregorianCalendar; public class Student { public String idCard;//每个学生都有身份z号码 public String name;//每个学生都有姓名 public Date birth;//每个学生都有出生时间 public void eat() {//每个学生都有吃饭的行为。 //面向过程去编写吃饭这个行为。 System.out.println("洗手"); System.out.println("吃饭"); System.out.println("洗碗"); } public void sleep() {//每个学生都有睡觉的行为。 //面向过程去编写睡觉这个行为。 System.out.println("洗漱"); System.out.println("上床"); System.out.println("睡觉"); } public void updateName(String name) {//每个学生可以修改他的名字 this.name = name; } public Student(String idCard, String name, Date birth) {//构造一个真实的对象,对他的基本特征设定一个具体的值 this.idCard = idCard; this.name = name; this.birth = birth; } public static void main(String[] args) { //通过new构造器来向下构造一个具体的对象 Student s = new Student("111111111111","Jack马", new GregorianCalendar().getTime()); //1.吃饭 s.eat(); //2.睡觉 s.sleep(); //3.去公安局改个名字 s.updateName("pony马"); //4.看看自己的新名字 System.out.println(s.name); } }三、构造器 1、形式
public[private] ClassName(){ }2、四要素
3、重载1)通过new关键字调用。
2)构造器是特殊函数,无返回值,但是可给对象分配实际内存。不能显示定义返回类型,也不能return this,只可以用return结束函数,一般省略。
3)没有构造器,则编译器定义无参构造函数,若自己显示定义,则编译器不再提供。
4)构造器方法名必须与类名一致。
根据实际参数需要进行函数重载。
public Student(String idCard, String name, Date birth) {//构造一个真实的对象,对他的基本特征设定一个具体的值 this.idCard = idCard; this.name = name; this.birth = birth; } public Student(){ }总结
1)面向对象与过程,设计模式与执行模式。
2)面向对象三要素,如何抽象与具体?
[1] 尚硅谷Java SE–高淇
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)