面向对象之封装

面向对象

  • 如何理解面向对象

    面向对象编程思想是只追求结果的一种编程思想。

    我们不需要了解编程过程中每个功能是如何实现的,只需要将各个功能封装起来,封装时根据不同的功能,将功能类似的封装起来。

    是一种不追求过程 只追求结果的编程思想。

    举个列子:我们要做一盘番茄炒蛋

    面向过程思想是我们要知道如何切菜 如何炒菜

    面向对象思想至于要将番茄 和鸡蛋调用出来,直接就会出来菜。

    面向对象思想特点
    a:是一种更符合我们思想习惯的思想 懒人思想
    b:可以将复杂的事情简单化
    c:将我们从执行者变成了指挥者
    角色发生了转换

    面向对象三大特征

    1.封装

    类与对象的概述

    A.把事物用一个类来体现

    事物=类

    事物的属性==成员变量

    事物的功能==成员方法

    B.定义类就是定义类的成员(成员变量和成员方法)

    a:成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
    b:成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。

    C.类和对象的概念

    a.类:是一组相关的属性和行为的集合

    b.对象:将类实例化 是该类事物的具体体现

    c.举例:

    类 动物

    对象 狗就是一个实例化对象

    成员变量和局部变量的区别

    A.在类中的位置不同

    成员变量:在类中 方法外

    局部变量:在方法定义中

    B:在内存中的位置不同

    成员变量:在堆内存

    局部变量:在栈内存

    C:生命周期不同

    成员变量:随着对象的创建而存在,随着对象的消失而消失

    局部变量:随着方法的调用而存在,随着方法的调用而消失

    D.初始化值不同

    成员变量:有默认初始化值

    局部变量:无默认初始化值,必须定义,赋值,才能使用

    注意事项:: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则

    封装的概述

    封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式

    封装的好处

    隐藏实现细节,提供公共的访问方式

    提高了代码的复用性

    提高安全性

    封装原则

    将不与要对外提供的内容都隐藏起来,只提供公共方法对其访问

    private关键字

    private常见的应用

    1.把成员变量用private修饰

    2.提供对应的getxxx()和setxxx()方法

    this关键字

    作用 :当成员变量和局部变量同名时 用this.成员变量可以解决 局部变量隐藏成员变量的问题

    构造方法

    作用:创建对象 给对象中的成员实例化。

    特点 类名(); 类名与方法名同名 没有返回值类型 没有具体的返回值

    STUDENT();

    可以通过构造方法给成员变量赋值

    创建一个对象的步骤

    Student s = new Student();
    步骤:
    (1):加载Student.class文件进内存
    (2):在栈内存为s开辟空间
    (3):在堆内存为学生对象开辟空间
    (4):对学生对象的成员变量进行默认初始化
    (5):对学生对象的成员变量进行显示初始化
    (6):通过构造方法对学生对象的成员变量赋值
    (7):学生对象初始化完毕,把对象地址赋值给s变量


基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)内容概要:本文档围绕基于遗传算法的异构分布式系统任务调度算法展开研究,重点介绍了一种结合遗传算法的新颖优化方法,并通过Matlab代码实现验证其在复杂调度问题中的有效性。文中还涵盖了多种智能优化算法在生产调度、经济调度、车间调度、无人机路径规划、微电网优化等领域的应用案例,展示了从理论建模到仿真实现的完整流程。此外,文档系统梳理了智能优化、机器学习、路径规划、电力系统管理等多个科研方向的技术体系与实际应用场景,强调“借力”工具与创新思维在科研中的重要性。; 适合人群:具备一定Matlab编程基础,从事智能优化、自动化、电力系统、控制工程等相关领域研究的研究生及科研人员,尤其适合正在开展调度优化、路径规划或算法改进类课题的研究者; 使用场景及目标:①学习遗传算法及其他智能优化算法(如粒子群、蜣螂优化、NSGA等)在任务调度中的设计与实现;②掌握Matlab/Simulink在科研仿真中的综合应用;③获取多领域(如微电网、无人机、车间调度)的算法复现与创新思路; 阅读建议:建议按目录顺序系统浏览,重点关注算法原理与代码实现的对应关系,结合提供的网盘资源下载完整代码进行调试与复现,同时注重从已有案例中提炼可迁移的科研方法与创新路径。
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文提出了一种基于非支配排序的蜣螂优化算法(NSDBO),用于求解微电网多目标优化调度问题。该方法结合非支配排序机制,提升了传统蜣螂优化算法在处理多目标问题时的收敛性和分布性,有效解决了微电网调度中经济成本、碳排放、能源利用率等多个相互冲突目标的优化难题。研究构建了包含风、光、储能等多种分布式能源的微电网模型,并通过Matlab代码实现算法仿真,验证了NSDBO在寻找帕累托最优解集方面的优越性能,相较于其他多目标优化算法表现出更强的搜索能力和稳定性。; 适合人群:具备一定电力系统或优化算法基础,从事新能源、微电网、智能优化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网能量管理系统的多目标优化调度设计;②作为新型智能优化算法的研究与改进基础,用于解决复杂的多目标工程优化问题;③帮助理解非支配排序机制在进化算法中的集成方法及其在实际系统中的仿真实现。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注非支配排序、拥挤度计算和蜣螂行为模拟的结合方式,并可通过替换目标函数或系统参数进行扩展实验,以掌握算法的适应性与调参技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值