面向对象编程(oop)

产物:木箱

面向过程:

--局部思考问题--

  1. 找材料,箱底。
  2. 找坐箱底所需工具
  3. 做箱身,需要胶水,需要木钉
  4. 做箱盖,开孔工具
  5. 产物:木箱
  1. 走一步看一步
  2. 独立思考和解决问题

 

面向对象:(万事万物皆对象)

--全局规划--

1.需要东西(材料,工具)

木材 工作 胶水 木钉

  1. 思考能不能知道对应东西上面行为或者功能能够解决对应问题。
  2. 对象

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、生成图解:

java学习之类和对象

注意:

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、类和对象的关系:

  1. 类是对象的模板(类是一张设计图纸)
  2. 对象是类的实例(设计图纸具体产物)

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;

}

 

相关文章: