一、什么是类?
1、类是一种抽象的概念。
2、类:具有相同的特性(数据元素)和行为(功能)的对象的抽象就是类。对象的抽象就是类,类的具体化就是对象,也可以说类的实例化就是对象,类实际上就是一种数据类型。类具有属性用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
二、什么是对象?
1、对象是一种具体概念
2、对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
三、类与对象之间是什么关系?
类的实例化就是对象,而对象的抽象就是类,类描述了一组有相同特性(属性)和相同行为的对象。例如:人是一个类,具体哪一个人就是一个对象,每一个对象都符合这个类的标准。一个类的所有对象都有相同的属性(都是人),但是有着不同的属性值(名字,长相、身高)。
四、类的特征有哪些?
1、封装性
就是将数据和操作封装为一个有机的整体,由于类中私有成员都是隐藏的,只向外部提供有限的接口,所以能够保证内部的高内聚性和与外部的低耦合性。用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员,能够增强安全性和简化编程。
简单的理解就是:封装就是将一些复杂的或是不想让你看到的事物包装起来,叫做封装。从程序的角度来说就是,把一些内部复杂的逻辑或是不想让其他人员修改程序内部进而把部分程序包装起来,叫做封装。举一个 遥控器的例子,无论是电动玩具赛车遥控器还是电视遥控器,其内部都是复杂的电路板,由于技术人员出于对电路板的保护的角度来说,通过手柄来包装都能达到这俩种效果。
2、继承性
继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的属性和方法,也可以用父类的属性和方法,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码,能够大大的提高开发的效率。
3、多态性
同一操作作用于不同对象,可以有不同的解释,产生不同的执行结果。简单的来说就是父类引用指向子类对象。

什么是类?什么是对象?类与对象之间是什么关系?类的特性有哪些?相关推荐

  1. 开源PLM软件Aras详解八 Aras之RelationshipTypes关系类详解

    在Aras中,在之前ItemType解析中有提到,Aras中实际ItemType对应的就是一张表,那么,ItemType与ItemType之间是如何关联的呢, 如果我们需要捋清楚ItemType与It ...

  2. seaborn系列(1) | 关系类图relplot用法

    本篇是<Seaborn系列>文章的第1篇. 关系类图relplot 关系类图 函数原型 参数解读 案例教程 案例地址 关系类图 seaborn.relplot()解读 注意:数据一定是通过 ...

  3. 代码重构之三种取代类型码(类、子类、状态对象或策略对象)的方式辨析

    1.以类取代类型码 适用情况:类之中有一个数值类型码,但它并不影响类的行为. 重构手段:以一个新的类替换该数值类型码. 重构类图示意: 这里的"不影响类的行为"是什么意思呢? 类型 ...

  4. python类对象和实例对象

    类对象支持两种操作:属性引用和实例化. 属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name. 有效的属性名称是类对象被创建时存在于类命名空间中的所有名称. 因此,如果类定 ...

  5. 【scala】类的定义和单例对象

    一.类的定义 Scala类的定义跟JAVA中类的定义基本是一样的. 示例 class ChecksumAccumulator{var sum = 0;//Scala默认关键字为publicprivat ...

  6. C++对象内存布局--①测试虚函数表属于类

    C++对象内存布局--①测试虚函数表属于类 测试1:同一个类的多个对象共享同一张虚函数表.   //虚函数表.cpp //2010年8月18日 //测试虚函数表,说明虚函数表属于类所有.同一个类的多个 ...

  7. 类的加载顺序和对象的实例化

    直接就在JDK8中用代码来验证吧. import lombok.extern.slf4j.Slf4j;@Slf4j public class Printer {private String s;pub ...

  8. python里的类与一切事物都是对象

    对于python,一切事物都是对象,对象基于类创建 列如 name='csdcs' li=[1,3,43] 上面两个都是对象,因为它们都是python中的 类里面存着许多的功能,功能的集合,     ...

  9. python对象编程例子-python面向对象编程:python类和实例讲解

    东尧爱分享 这是东尧每天一篇文章的第51天 东尧写文章的目标:分享东尧的经验和思考,帮你获取物质和精神两方面幸福. 1 什么是对象 在python里面,一切皆为对象.也就是说python里的所有数据都 ...

  10. 从JVM看类的加载过程与对象实例化过程

    一. 类的加载过程 1. 类的加载过程大致是个什么过程? 我们编写产生.java文件,这些.java文件经过Java编译器编译成拓展名为.class的文件,.class文件中保存着Java代码经转换后 ...

最新文章

  1. 新课程网上选课系统V1.0—适用于中小学校本课程选课、选修课选课
  2. drf6 权限和频率控制组件
  3. powerpc 汇编linux,PowerPc下的寻址模式
  4. oracle daga备份,敏捷的Oracle 10g MAA配置方法
  5. OpenCV-python学习笔记(四)——smoothing and blurring平滑和模糊
  6. 【报告分享】新基建专题报告:5g和数据中心的投资机会分析.pdf(附下载链接)...
  7. C语言经典题目(51-60)
  8. jquer WdatePicker 使用 手册
  9. 实验一缓冲区溢出漏洞实验
  10. Linux与Xshell:登陆服务器与后台执行程序
  11. 服务器显示断开网络驱动器,网络驱动器
  12. 同济大学高数第七版下册对梯度的解释
  13. HTML5 标签audio添加网页背景音乐代码
  14. VMware5.5-VMware补丁程序VUM
  15. IPV4组播地址解析以及IPV4地址详解
  16. index [XXX] blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]问题解决
  17. linux平台的mmdetection安装
  18. ThinkPHP验证码错误解决过程
  19. java毕业设计短视频网站mybatis+源码+调试部署+系统+数据库+lw
  20. 【scrapy爬虫】了解Scrapy+爬虫豆瓣电影Top250信息

热门文章

  1. MAC帧经过路由器,源目标MAC地址会改变,但是IP的源,目的地址不会改变
  2. 下载的jar包找不到源码时从这里下载
  3. 为什么会有这么多中间表?
  4. mysql多表条件查询_mysql 多表 多个条件 查询
  5. 故障集——user is currently used(无法删除用户)
  6. 浅析芝麻信用分征信体系
  7. itest听力答案2020_2020高中英语听力训练测试与答案
  8. linux瘦身软件下载,Linux系统瘦身裁剪 ——测试版
  9. python极客项目编程百度云_Python极客项目编程pdf
  10. EXCEL表格超链接图片