
[面向对象的内存分析]

面向对象的内存分析
【博客】高瑞琳

[博客地址]
在一个类中组织代码,并将数据封装在一个对象中.
封装:
封装是一种信息隐藏技术,它反映在类的描述中,从而使数据更安全. 这是对象的重要特征. 封装将数据和处理数据的方法(功能)作为一个整体进行封装,以实现高度独立的模块,从而使用户只能看到对象的外部特征(对象可以接收并具有那些处理能力的消息)以及对象的内部特征(保留内部状态的私有数据和实现处理功能的算法)对用户隐藏. 封装的目的是将对象设计者和对象人分开使用. 用户不需要知道行为实现的详细信息,而只需要使用设计者提供的消息来访问对象.

继承:
继承是子类在父类之间自动共享数据和方法的机制. 它由类的派生函数反映. 一个类直接继承其他类的所有描述,并且可以同时修改和扩展.
继承是可传递的且是单根的. 如果类B继承了类A,而类C继承了类B,则可以说类C继承了类B,但也可以继承类A和类C. 类中的对象可以实现类A中的方法. 类只能继承另一个班级,但不能同时多个班级. 通常称为多重继承是指在继承其父类的同时实现一个类. 其他接口. 该类的对象被单独关闭. 如果没有继承机制,则类对象中的数据和方法将大量重复. 继承支持系统的可重用性,从而减少了代码量,并提高了系统的可伸缩性.
多态性:

对象根据收到的消息进行操作. 当不同对象接收到相同的消息时,它将产生完全不同的动作. 这种现象称为多态. 使用多态性,用户可以发送公共消息面向对象的分析过程,并将所有实现细节留给接收消息的对象自行决定. 如果是这样,同一条消息可以调用不同的方法. 例如面向对象的分析过程,将“打印”消息发送到图片或表格时调用的打印方法与将同一“打印”消息发送到文本文件时调用的打印方法完全不同. 继承支持多态的实现. 类继承的层次关系用于在类层次结构中存储具有尽可能高的通用功能的协议,并且用于实现此功能的不同方法置于较低的级别. 这样,在这些低级别生成的对象可以对一般消息做出不同的响应. 在OOPL中,可以通过在派生类中重新定义基类函数(定义为重载函数或虚函数)来实现多态.
创建学生班
public class Student { // static data String name; int id; String sex; String address; int age; Computer computer; // dynamic behavior public void say() { System.out.println(name + age + "say hello"); } public void study(String sname) { System.out.println(name + " and " + sname + "studying"); } public static void main(String[] args) { /* * Through class Loader upload this Student class ,In the * method section is the Student class information. */ Student s1 = new Student(); s1.name = "Mr gao"; s1.study("Mr wang"); Student s2 = new Student(); s2.age = 10; s2.name = "Mrs li"; s2.say(); } }
内存


内存分析(2)
public class Computer { //static data String brand; int cupSpeed; //dynamic method public void run(){ }
public class Test { public static void main(String[] args) { Student s = new Student(); s.name = "Mr gao"; s.age = 10; Computer p = new Computer(); p.brand = "ASUS"; p.cupSpeed = 100; s.computer = p; System.out.println(s.computer.brand); } }
内存

----------------------感谢您的收看--------------------- --
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-209735-1.html
这样他就有理由制裁在国际上摸黑我们了
也是划时代的进步了