[关闭]
@liruiyi962464 2017-03-20T11:21:49.000000Z 字数 1854 阅读 485

面向对象

java

理解面向对象

结构化程序设计

  • 程序 = 算法 + 数据结构
  • 算法第一,数据结构第二

面向对象的程序设计OOP

  • 程序 = 对象 + 对象 + ...
  • 数据第一,算法第二
  • 关键:让每一个对象负责执行一组相关任务

面向对象编程的特性

  • 万物皆对象
  • 程序是一组对象彼此之间在发送消息
  • 每个对象都有自己的内存占用,可以组装成更大的对象
  • 每个对象都有类型,特定类型的所有对象可以接收相同消息

类和对象的概念、区别和联系

概念

-类:对象由类来创建

  • 类是创建对象的模版和蓝图
  • 类是一组类似对象的共同抽象定义

-对象

  • 对象是类的实例化结果
  • 对象是实实在在存在的,代表显示世界的某一种事物

- 对象的俩个关键特性

  • 行为:对象能干什么
  • 状态:对象的属性,行为的结果

- 区别

  • 类是静态定义
  • 对象是动态实例
  • 程序代码操作的是对象而非类

- 联系

  • 类是对象的定义
  • 对象的产生离不开类这个模版
  • 类存在的目的是实例化得到对象

类的创建和使用 方法的分类*

1.无返回值的方法

  1. //编写的是类,但在程序代码中是使用的是类创建的对象
  2. //对象 = 属性加方法(有了对象就可以给属性赋值,以及使用属性的值,以及使用方法)
  3. //属性:事物所固有的特性
  4. //方法:对象的行为能力
  5. int age;//年龄
  6. char sex;//性别
  7. String name;//姓名
  8. String idCard;//身份证号
  9. public void getPersonMessage(){
  10. System.out.println("年龄:"+age);
  11. System.out.println("性别:"+sex);
  12. System.out.println("姓名:"+name);
  13. System.out.println("身份证号:"+idCard);
  14. }
  1. //通过Person类创建对象一个Person对象
  2. //类名 对象名字(自己取)= new类名();
  3. Person ps1 = new Person();//ps1就是我们创建好的对象
  4. //通过对象给属性赋值
  5. //对象名字。属性名字=你要赋的值(注意:属性是什么数据类型与所赋值要一一对应)
  6. //方法调用 对象名称.方法名(); ps1.getPersonMessage();
  7. ps1.age = 22;
  8. ps1.sex = '女';
  9. ps1.name = "你猜猜";
  10. ps1.idCard = "161618618616";
  11. ps1.getPersonMessage();

2.有返回值的方法

  1. int num1;
  2. int num2;
  3. double num3;
  4. double num4;
  5. //有返回值类型无参数列表的方法
  6. public int add(){
  7. return num1+num2;
  8. }
  9. public double subtraction(){
  10. return num3-num4;
  11. }
  1. Util ut = new Util();
  2. ut.num1 = 2;
  3. ut.num2 = 3;
  4. int result = ut.add();
  5. System.out.println(result);
  6. Util ut2 = new Util();
  7. ut2.num3=10.65;
  8. ut2.num4=5.65;
  9. double subtraction = ut2.subtraction();
  10. System.out.println(subtraction);

3.无返回类型带参数列表的方法

  1. //无返回类型带参数列表的方法
  2. //参数列表 (参数的数据类型 1 对应的参数名称1,参数的数据类型2 对应的参数名称2)
  3. //参数可以是任意数据类型:数组、字符串、8大基本类型
  4. //参数在通过对象调用方法是时传值
  5. public void noReturn(int num1,int num2){
  6. if(num1>num2){
  7. System.out.println(num1+"大于"+num2);
  8. }else{
  9. System.out.println(num1+"小于"+num2);
  10. }
  11. }
  1. ut.noReturn(12, 25);

4.有参数列表有返回值类型

  1. //有参数列表有返回值类型
  2. //把外界传进来的俩个数据进行乘法运算 然后把运算出来的结果返回
  3. //参数列表定义的变量 只能作用于对应的方法
  4. public int chengFa(int num1,int num2){
  5. return num1*num2;
  6. }
  7. public double chuFa(double num1,double num2){
  8. return num1/num2;
  9. }
  1. int res = ut.chengFa(5, 10);
  2. System.out.println("乘法运行的结果为:"+res);
  3. double chu = ut.chuFa(9, 9);
  4. System.out.println("除法运算返回的结果"+chu);
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注