6、面向对象(OOP) 类 对象 封装

1、面向对象和面向过程

1.1、面向对象

面向对象注重的是结果,拿来直接使用

1.2、面向过程

面向过程注重的是完成任务的过程,怎样去完成这个任务

例如:去餐馆吃饭,你只需要负责点菜,而不需要知道怎样做菜,点菜这个操作就是面向对象,怎样做菜就是面向过程

2、面向对象的三大特性

1、封装:把相关数据封装成一个类

2、继承:子类继承父类的属性和方法

3、多态:增强软件的灵活性和重用性

3、类和对象

3.1、类和对象的概念

类是抽象的,定义的是一类事物,如:老师,汽车,水果

对象是具体的实现

3.2、练习:类的创建和使用

在一个java文件中可以创建多个class,

但是被public修饰的class只能有一个

并且必须是java文件名

package cn.tedu.oop;
/*本类用于练习面向对象入门案例*/


/*在一个java文件中可以创建多个class
  但是被public修饰的class只能有一个
* */


public class TestCreateClass {
    public static void main(String[] args) {
        /*通过new关键字来创建对象*/
        Phone p = new Phone();
        Phone p2 = new Phone();


        /*通过.来调用对象的功能,类似于中文"的"*/
        p.call();
        p.message();
        p.video();
        p2.video();

        System.out.println(p.brand);
        System.out.println(p.price);
        System.out.println(p.size);
        System.out.println(p.color);
        System.out.println(p2.brand);

        System.out.println("===================");

        //修改成员变量的值
        p.brand="华为";
        p.price=4599;
        p.size=5.8;
        p.color="魅蓝";
        System.out.println(p.brand);
        System.out.println(p.price);
        System.out.println(p.size);
        System.out.println(p.color);
    }

}

//创建手机类
class Phone{
    String brand;
    double price;
    double size;
    String color;
    public void call(){
        System.out.println("正在打电话");
    }

    public void message(){
        System.out.println("正在发短信");
    }

    public void video(){
        System.out.println("正在看直播");
    }
}

4、创建对象在内存中的过程分析

4.1、队列和栈

队列:先进先出

image-20210707145541038.

栈:先进后出;先进去的会被压入栈底

image-20210707145847653.

4.2、new一个对象JVM内存中的操作过程

image-20210707150050356.

5、封装

5.1、封装的作用

1、提高安全系

2、提高复用性

5.2、private关键字

private可以修饰成员变量和成员方法,被修饰的成员只能在本类中访问

5.3、案例:封装成员变量
package cn.tedu.oop;
/*本类用于测试面向对象之封装*/

public class TestPrivate {
    public static void main(String[] args) {
        Student student = new Student();
        /*student.id=1;
        student.name="游乐王子";
        student.subject="java大数据";*/
        student.setId(1);
        student.setName("游乐王子");
        student.setSubject("java大数据2");
        /*System.out.println(student.id);
        System.out.println(student.name);
        System.out.println(student.subject);*/
        System.out.println(student.getId());
        System.out.println(student.getName());
        System.out.println(student.getSubject());
        System.out.println("==============");
        student.study();
        student.play();
    }
}

class Student{
     private int id;
     private String name;
     private String subject;//被private修饰的资源是私有资源,只能在本类中访问,外部无法访问

    public void study(){
        System.out.println("好好学习,天天向上!");
    }

    public void play(){
        System.out.println("学习之余,娱乐一下~");
    }

    /*如果一个方法需要返回结果,那么通过return关键字返回
    * 注意返回值类型必须和subject的类型保持一致*/
    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

5.4、案例:方法的封装
package cn.tedu.oop;

public class TestMethodPrivate {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.eat();
    }
}

class Dog{
    public void eat(){
        System.out.println("小狗爱吃骨头");
        play();
    }
    private void play(){
        System.out.println("小狗捉耗子~");
    }
}

私有方法的调用:把私有方法放入公共方法内

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告型管理页面显示所有任务资讯公告型,在此页面既可以让管理员添加新的任务资讯公告信息型,也能对已有的任务资讯公告型信息执行编辑更新,失效的任务资讯公告型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值