浅谈java中OO的概念和设计原则(必看)

浅谈Java中OO的概念和设计原则

一、面向对象的概念

面向对象是一种编程思想,将现实世界事物抽象成对象,对象之间通过方法进行交互,实现程序的功能。在Java中,每个对象由类来实现,类是一组具有相同属性和方法的对象的集合。

Java中三大面向对象的特性:封装、继承、多态。

1. 封装

封装就是把对象的数据和方法封装起来,对外提供统一的接口。封装可以保护对象内部的复杂性,使得外部调用者无需知道具体实现细节,而只需要通过接口进行调用。

示例代码:

public class Student{
    private String name;
    private int age;

    public String getName(){
        return name;
    }

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

    public int getAge(){
        return age;
    }

    public void setAge(int age){
        this.age = age;
    }
}

在上述示例中,将学生对象的name和age属性都设置为私有属性,外部无法直接访问,通过public的set和get方法提供了统一的接口,外部只能通过接口进行访问。

2. 继承

继承是一种从已有类派生出新类的机制,新类具有父类的所有属性和方法,并且可以新增自己的属性和方法。

示例代码:

public class Animal{
    private String name;

    public Animal(String name){
        this.name = name;
    }

    public String getName(){
        return name;
    }

    public void run(){
        System.out.println(name + " is running...");
    }
}

public class Dog extends Animal{
    public Dog(String name){
        super(name);
    }

    public void bark(){
        System.out.println(getName() + " is barking...");
    }
}

在上述示例中,Dog类继承了Animal类,具有Animal类的name属性和run方法,新增了自己的bark方法。

3. 多态

多态是指同一个方法在不同对象上有不同的实现,实现方法可以通过重载或重写实现。

示例代码:

public class Animal{
    public void run(){
        System.out.println("Animal is running...");
    }
}

public class Dog extends Animal{
    public void run(){
        System.out.println("Dog is running...");
    }
}

public class Cat extends Animal{
    public void run(){
        System.out.println("Cat is running...");
    }
}

在上述示例中,Animal、Dog、Cat均有自己的run方法,都可以通过调用同名方法实现多态。

二、面向对象的设计原则

1. 单一职责原则

一个类和方法只负责一项职责,避免出现类和方法的职责不明确、过于复杂的情况。

示例:

有一个类A,负责管理用户的增删改查、权限管理、日志记录等功能,这样就会导致该类过于庞大且难以维护。将该类拆分为UserManager、PermissionManager、LogManager等类,使每个类只负责一项职责,提高代码可读性和可维护性。

2. 开闭原则

开闭原则是指对扩展开放,对修改关闭。在程序修改时,尽量是通过添加新的代码来增加新的功能,而不是对原有代码进行修改。

示例:

有一个类A,需要支持不同的支付方式,原有代码只支持支付宝和微信支付,现需要添加银行卡支付方式。通过对类A进行扩展,在现有代码的基础上添加新的支付方式,而不是对支付方式进行修改。

3. 里氏替换原则

里氏替换原则是指子类对象可以替换父类对象进行使用,而程序不会出错或产生异常。

示例:

有一个父类Animal和两个子类Dog、Cat,在父类的方法中使用子类方法实现多态。如果在Dog子类中重写了父类方法,但是该方法产生了异常,通过里氏替换原则,调用该方法将不会产生异常,因为Dog子类替代了父类并继承了父类方法。

三、总结

面向对象是一种开发思想,Java作为一门面向对象的编程语言具有三大特性:封装、继承、多态。面向对象编程需要遵循一定的设计原则,如单一职责原则、开闭原则、里氏替换原则等。遵循这些原则可以提高代码可读性和可维护性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈java中OO的概念和设计原则(必看) - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • SpringMVC配置404踩坑记录

    SpringMVC配置404踩坑记录 在使用SpringMVC开发Web应用程序时,我们经常会遇到404错误。本文将介绍如何在SpringMVC中配置404错误,并提供两个示例说明。 步骤一:配置web.xml 首先,我们需要在web.xml文件中配置SpringMVC的DispatcherServlet。可以通过添加以下配置来实现: <servlet…

    Java 2023年5月17日
    00
  • JVM内置函数Intrinsics介绍

    关于“JVM内置函数Intrinsics介绍”的完整攻略,我会从以下几个方面进行讲解: Intrinsics是什么以及作用 Intrinsics的分类 Intrinsics的使用 示例说明 Intrinsics是什么以及作用 Intrinsics(内置函数)是一种Java虚拟机的内部实现机制。在编写Java代码时,我们有时会使用一些高性能的代码段,如数学运算…

    Java 2023年5月26日
    00
  • 什么是Spring Boot

    Spring Boot是一个用于创建独立且基于Spring的生产级别应用程序的框架。它提供了诸如自动配置、嵌入式Web服务器以及依赖项管理等功能,因此使得Spring应用程序的开发变得更加快捷、容易。 为什么要使用Spring Boot 快速构建Spring应用:Spring Boot具有自动配置的能力,生态圈也非常丰富,因此可以极大地提高Spring应用的…

    Java 2023年5月15日
    00
  • 什么是对象引用?

    对象引用是 Java 中一种特殊的数据类型,用于存储对象在内存中的地址。在 Java 中,所有的对象都是在堆内中分配的,而对象引用则是在栈存中分配的对象引用可以用来访问对象的属性和方法。 以下是对象引用的完整使用攻略: 声明对象用 在 Java 中,使用名或接口名来声明对象引用。以下是一个声明对象引用的示例: public class ObjectRefer…

    Java 2023年5月12日
    00
  • Springboot mybatis plus druid多数据源解决方案 dynamic-datasource的使用详解

    关于“Springboot mybatis plus druid多数据源解决方案 dynamic-datasource的使用详解”的攻略,我会从以下几个方面进行讲解: 什么是多数据源 动态数据源的原理 Springboot mybatis plus druid多数据源解决方案 示例1:在一个Spring Boot项目中使用多数据源 示例2:在一个基于Spri…

    Java 2023年5月20日
    00
  • 浅谈SpringBoot内嵌Tomcat的实现原理解析

    浅谈SpringBoot内嵌Tomcat的实现原理解析 简介 SpringBoot是一个用于快速构建应用程序的框架,它使用内嵌的Tomcat作为默认的Web容器。那么,SpringBoot内嵌Tomcat的实现原理是什么呢?本文旨在解析SpringBoot内嵌Tomcat的实现原理,帮助您更好地了解SpringBoot的底层实现。 SpringBoot内嵌T…

    Java 2023年6月2日
    00
  • Java判断字符串是否是整数或者浮点数的方法

    Java判断字符串是否是整数或浮点数有多种方法可以实现。以下是几种常见的方法。 方法一:正则表达式 正则表达式可以匹配复杂的字符模式。下列正则表达式可以匹配整数和浮点数: ^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$ 然后将它和待匹配字符串进行比较: public static boolean isNumeric(Stri…

    Java 2023年5月27日
    00
  • java连接SQL Server数据库的方法

    下面我将详细讲解Java连接SQL Server数据库的方法,包括如何配置环境、创建数据库连接、执行SQL语句等步骤。 环境配置 在Java中连接SQL Server数据库,需要先下载Microsoft JDBC Driver for SQL Server。可以前往Microsoft官方网站下载对应版本的驱动程序。另外,需要安装SQL Server数据管理工…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部