第六天:从面向过程到面向对象!

一.封装:

1.封装的初衷:为啥要学习封装?
    /*1.参数个数不确定,开发难度升级;考虑过 可变参数,可变参数 个数也不确定 [要写]
 2.参数个数一旦确定,使用的时候,无论如何,实参个数必须给够!
    ====解决方法:   封装
    第一步:创建一个封装类,起一个类名:
    第二步:把要作为一个整体的多个属性,都放在封装类里。
    第三步:创建封装类对象,为你需要的属性赋值,就可以了

二.从面向过程到面向对象

1. 面向对象思想  与 面向过程思想 的区别:
   1.面向对象 是 面向过程的基础上 引申,完善出来的思想。
   2.面向对象 更关注的是 谁 可以解决这个问题 ;
     面向过程 更关注的是 如何通过一步一步的操作 来解决该问题

   3.但是两个思想不是对立的,是互相帮助,相辅相成的。
     项目的宏观上 使用面向对象 ;具体微观实现的时候 使用面向过程。


2. 面向对象思想 开发的过程:(了解)
    第一步:OOA 面向对象分析 :1.项目的参与者都有谁? 提取归纳相同对象为一类【确定类名】
                             2.确定每一类参与者 都有的相同行为 【确定方法】
                             3.确定每一类参与者 都有的属性/静态信息【确定属性】
    第二步:OOD 面向对象设计

    第三步:OOP 面向对象编程


3.面向对象编程的 3步骤:

   1.创建类 :确定类名,确定行为,确定属性

   2.创建对象: 类名 对象名=new 类名();

     对象名.属性=值;
   3.对象名.行为();

三.构造方法:
  1.什么是构造方法?

Java中的构造方法是一种特殊方法,用于在创建对象时初始化对象的状态,其名称必须与类名相同且无返回类型(连void也没有)。

  2.作用是什么?
     A.实例化(创建一个实例对象的过程),
     B.初始化(为实例对象的属性赋第一个值的过程)
    //准备构造器:
    public Person(String name1, int age,String sex,double height, double weight){
        this.name=name1;
        this.age=age;
        this.sex=sex;
        this.height=height;
        this.weight=weight;
    }

  3.特点:
   1.没有返回值类型
   2.方法名 跟 文件名一模一样
   3.程序会默认为每一个类,都提供一个无参,方法体为空的 构造方法。
     如果开发者自己编写了 构造方法,
     程序将不在提供 这个 一个无参,方法体为空的 构造方法。
     如果需要无参构造方法,开发者自己在创建一个。

四.面向对象的封装:
   1.目的:为了保证数据的安全

   2.实现步骤:
           1.属性私有化:将属性的权限修饰符 由原来的默认 改为 private
           2.创建公有方法 进行赋值和取值:

   public void setAge(int age){
        if(age<=100 && age>=0){
            this.age=age;//符合安全逻辑 才可以赋值
        }else{
            System.err.println("年龄不对,要在0-100之间");
            this.age=20;
        }
    }

    public int getAge(){
        return this.age;
    }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值