什么是面向对象编程?

简介: 什么是面向对象编程?

@[toc]

初识面向对象(Java)


学习面向对象内容的三条主线

1.Java类及类的成员 :属性,方法,构造器;代码块,内部类

2.面向对象的三大特征:封装性,继承性,多态性、(抽象性)

3.其它关键字:this、super、static、final、abstract、interface、package、import等


面向过程(POP) 与 面向对象(OOP)
  • 二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
  • 面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如 抽象、分类、继承、聚合、多态等。

面向对象的三大特征
  1. 封装 (Encapsulation)
  2. 继承 (Inheritance)
  3. 多态 (Polymorphism)

面向对象的思想概述
  • 程序员从面向过程的执行者转化成了面向对象的指挥者
面向对象分析方法分析问题的思路和步骤:
  • 根据问题需要,选择问题所针对的现实世界中的实体
  • 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类
  • 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序 语言,把类构造成计算机能够识别和处理的数据结构
  • 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具

Java语言的基本元素: 类和对象

“万事万物皆对象”


类(Class)和对象(Object)是面向对象的核心概念
  • 类是对一类事物的描述,是抽象的、概念上的定义
  • 对象是实际存在的该类事物的每个个体,因而也称为实例(instance)
可以理解为:类 = 抽象概念的人;对象 = 实实在在的某个人

面向对象程序设计的重点是类的设计

类的设计,其实就是类的成员的设计


Java类及类的成员
  • 现实世界的生物体,大到鲸鱼,小到蚂蚁,都是由最基本的细胞构成的。同 理,Java代码世界是由诸多个不同功能的类构成的。
  • 现实生物世界中的细胞又是由什么构成的呢?细胞核、细胞质、… 那么, Java中用类class来描述事物也是如此。常见的类的成员有:

    • 属 性:对应类中的成员变量
    • 行 为:对应类中的成员方法

      ​ ==Field = 属性 = 成员变量=域、字段==

      ​ ==Method = (成员)方法 = 函数==


类和对象的创建
  1. 创建类,设计类的成员
  2. 创建类的对象
  3. 通过“对象.属性”或者“对象.方法"调用对象的结构
类的语法格式

在这里插入图片描述

对象的创建

在这里插入图片描述


代码举例
package MXDX;
//类的设计,其实就是类的成员的设计
//测试类
public class A {
    public static void main(String[] args) {
        //2.创建Person类的对象=类的实例化=实例化一个类
        Person P1 = new Person();

        //调用对象的结构:属性、方法
        //调用属性:"对象.属性"
        P1.name="tom";
        P1.ismale=true;
        P1.age=18;
        System.out.println(P1.name);

        //调用方法:"对象.方法"
        P1.eat();
        P1.sleep();
        P1.talk("chinese");
    }
}
//1.创建类,设计类的成员
class Person{
    //属性
    String name;
    int age;
    boolean ismale;
    //方法
    public void eat(){
        System.out.println("人可以吃饭");
    }
    public void sleep(){
        System.out.println("人可以睡觉");
    }
    public void talk(String language){
        System.out.println("人可以说话,使用的是:"+language);
    }
}

多个对象的创建
  • 如果创建了一个类的多个对象,对于类中定义的属性,每个对象都拥有各自的一套副本,且互不干扰。(非static)

在这里插入图片描述

==通俗讲解:就像老师列了一个资料表单,同学A可以填,同学B可以填,填了之后相同格式的表单会有不同同学的不同内容,而且互相不影响==

多个对象的赋值”P1=P2“

举例代码,细看注释(代码只做举例不可运行):

Person p1 = new Person();//Person是一个类,创建Person类的对象
p1.name="tom";
Person p2 = new Person();//再创建一个对象p2
p2=p1;
p2.name="joy";
System.out.println(p1.name);//joy

注:上面代码哪怕输出的是p1,输出之所以不是tom而是joy,是因为这时候P2=p1,相当于把p1变量保存的地址值赋给P3.导致p1和p2都指向了堆空间中的同一个对象实体。相当于调用p3其实就是调用p1,修改p3也是修改p1


“万事万物皆对象”

  1. 在Java语言范畴中,我们都将功能、结构等封装到一个类中,通过一个类的实例化来调用功能结构
  2. 涉及到Java语言与前端html、数据库等交互时,前后端的结构在Java层面交互时,都体现为类、对象
Scanner、String等

文件路径:file

网络资源:URL

目录
相关文章
|
3月前
|
数据采集 人工智能 安全
AI应用软件开发流程
AI应用开发不同于传统软件,核心在于数据、模型与工程化融合。全流程涵盖需求分析、架构设计、数据准备、提示词工程、系统集成及持续迭代六大阶段,强调RAG、LangChain等AI原生技术实践,助力打造安全、智能、可进化的AI产品。(239字)
|
3月前
|
人工智能 自然语言处理 安全
权威解读 | 《人工智能拟人化互动服务管理暂行办法》落地,AI“情感操纵”时代终结
随着AI从工具升级为“情感伙伴”,虚拟恋人、AI子女等引发沉迷、隐私与伦理风险。2026年4月10日,五部门发布全球首部《人工智能拟人化互动服务管理暂行办法》,7月15日起施行,严划六条红线,首创“情感操纵”禁止条款,设未成年人“五重隔离网”及2小时强制提醒等硬性要求,众森企服详细为您解读。
1096 0
|
4月前
|
弹性计算 人工智能 安全
阿里云新手用户完整上云流程:账号注册、实名认证、领取优惠券、试用和购买云服务器教程参考
阿里云新手用户上云全流程参考:首先需完成账号注册(支持手机号、扫码等方式)和实名认证(个人可通过支付宝或扫脸认证,企业需营业执照配合法人/对公账户认证)。认证后可领取对应优惠券,如学生可获300元无门槛抵扣金,企业可享最高100万抵扣金。新手推荐先通过免费试用中心体验160+款云产品,再选择购买。购买途径包括ECS产品页自定义配置(选地域、实例规格、镜像、带宽等)和活动页特惠购买,如99元/年经济型e实例、199元/年通用算力型u1实例等,新老同享、续费同价,适合个人建站及中小企业上云。
|
5月前
|
人工智能 弹性计算 关系型数据库
基于阿里云 ECS + RDS + 百炼 10 分钟搭建企业级 AI 中台实战(附源码 + 最佳实践)
本文实战记录基于阿里云生态部署一套企业级 AI 中台的完整过程,深度整合 ECS + RDS PostgreSQL 17 + Redis + OSS + SLB + 百炼共 6 个阿里云产品。聚合通义千问DeepSeek、Kimi、智谱、Claude 等 15+ 主流大模型,集成 20 节点画布 DAG 工作流 + 数字人口播 pipeline + License 绑域名防破解。包含 ECS 选型、RDS pgvector +zhparser 参数调优、Redis 持久化、Nginx + SLB高可用完整实操,压测数据 + 6 条必避踩坑记录。Docker Compose 10分钟部署
|
5月前
|
缓存 监控 NoSQL
不同业务如何选IP查询更新频率?离线与在线协同策略
本方案提出IP字段分级配置方法:慢变字段(归属地/ASN)用日更离线库+24h+ TTL;快变字段(代理/风险)依赖小时级甚至5分钟级在线API,支持强刷。明确禁用“离线库+长TTL”于强对抗场景,固化SLA三指标(陈旧度、回源率≤10%、P95延迟≤300ms),并提供六大业务场景开箱即用配置。(239字)
341 0
|
5月前
|
人工智能 自然语言处理 安全
新手零门槛!OpenClaw v2.6.2 Windows 本地AI智能体部署全攻略,一步到位
OpenClaw(小龙虾)是2026年爆火的开源本地AI智能体,主打“零代码、本地运行、自动化办公”。无需编程基础,Windows一键部署仅需10分钟;全程离线运行,数据不上传,隐私更安全;支持文件整理、数据提取、邮件发送、浏览器自动化等高频办公场景,新手也能轻松上手。(239字)
|
8月前
|
弹性计算 Linux 数据库
阿里云服务器购买与使用新手参考攻略:最新活动参考、选购指南与常见问题解答
阿里云服务器购买与使用的常见问题及解答,涵盖2026年优惠活动、实例选择(企业级与入门级区别、持久内存型实例特点)、及特殊实例类型(抢占式实例、预留实例券)等。同时解析了购买使用中的常见问题,为用户提供购买使用指南参考。
656 11
|
自然语言处理 前端开发 vr&ar
前端开发趋势:探索未来的用户体验
【2月更文挑战第8天】本文将深入探讨前端开发领域中的最新趋势,重点关注与用户体验相关的技术和方法。我们将介绍一些前沿的前端技术,如PWA、AR/VR、自然语言处理等,并探讨它们对未来用户体验的影响。通过了解这些趋势,前端开发者可以更好地把握市场动向,为用户提供更出色的交互体验。
|
Kubernetes Cloud Native Dubbo
全链路灰度的挑战、实现思路与解决方案
全链路灰度的挑战、实现思路与解决方案
1716 122
|
Oracle 关系型数据库 Java
数据库的 IO 到底有多慢?
本文通过对比Java程序从Oracle、MySQL数据库读取数据与读取文本文件的性能,揭示数据库IO速度远低于文件读取的现状。在相同硬件环境下,读取3000万行记录,Oracle耗时280秒,MySQL耗时380秒,而文本文件仅需42秒。此外,通过SPL实现并行处理,可显著提升读取速度,尤其是在处理大规模数据时。实验还探讨了数据库接口慢的问题及其对性能的影响,提出在追求高性能计算时应尽量避免从数据库读取数据的建议。

热门文章

最新文章