精华内容
下载资源
问答
  • 类和对象之间的关系

    万次阅读 2019-03-07 15:07:44
    根据一类对象进行概括,将对象的特征概括为属性,将对象的行为概括为方法,将这一类对象用一个类表示 --- 类是对象的概括/抽取 通过new关键字来创建这个对象,然后可以给对象中的属性赋值,也可以调用方法 ...

    类与对象的关系

    类是对象的概括,对象是类的具体体现

    根据一类对象进行概括,将对象的特征概括为属性,将对象的行为概括为方法,将这一类对象用一个类表示 --- 类是对象的概括/抽取

    通过new关键字来创建这个对象,然后可以给对象中的属性赋值,也可以调用方法

    展开全文
  • 类和对象关系区别

    千次阅读 2019-03-05 21:11:59
    对象:对象是类的一个实例(有状态行为。) 类:类是一个模板,它描述一类对象的行为状态。 举例:

    对象:对象是类的一个实例(有状态和行为。)
    :类是一个模板,它描述一类对象的行为和状态。

    • 格式一:声明并实例化对象 :类名称 对象名称=new类名称()
    • 格式二:先 声明对象,后实例化对象:
    • 类名称 对象名称=null后对象名称=new类名称()

    举例:

    1. 类:学生,对象:实例化到其中一位学生,(姓名,年龄,成绩)
      public class Demo类文件名 {
      public static void main(String[] args){
      class Student{通过class定义类
      String name ;
      int age ;
      public void get() {
      System.out.println(“姓名:” + name + “,年龄:” + age+",成绩是:");
      }
      Student per=new Student();//创建对象
      per=name ; per=age; per=score;per=get();//调用类中的get()方法}
      2.类:花 对象:一种花,(品种,颜色,价格)
      3.类:画 对象:画的作者,风格
      4.类:衣服 对象:大小,质量
      5.类:书籍 对象:出版社,种类
    展开全文
  • 对象关系

    千次阅读 2018-09-03 11:34:58
    简单记录一下对象关系,问题不难,但觉得还是写出来,会帮助自己记忆更牢固,而且万一以后有需要,可以及时回顾。 参考文献: 对象的区别 Java类和对象 详解(一) Java类和对象 详解(二) 声明对象、...

    写在前面

    简单记录一下类与对象的关系,问题不难,但觉得还是写出来,会帮助自己记忆更牢固,而且万一以后有需要,可以及时回顾。

    参考文献:

    基础概念

    1.类

    简单来说:类是抽象的,是对对象的抽象。

    具体来说:类是对现实生活中一类具有共同特征的事物的抽象,实质是一种复杂的数据类型,不存在于内存中,不能被直接操作,只有被实例化为对象时,才会变得可操作。

    2.对象

    简单来说:对象也是抽象的,是对客观事物的抽象。又是具体的,是类实例化的结果。

    具体来说:对象是人们要进行研究的任何具体事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

    实例参考

    人是类,具体的人就是对象,小明、小红、小花都是对象。

    车是类,具体的车就是对象,秋名山上那辆漂移的车、F1赛车的冠军的车、上班要开的车都是对象。

    类与对象的关系

    抽象来说:类与对象的关系就如模具和铸件的关系,类的实例化的结果就是对象,而对对象的抽象就是类,类描述了一组有相同特性(属性)和相同行为的对象。

    具体在Java编程中,类通过使用关键字class完成。

    class 类名称 {
             属性 (变量) ;
             行为 (方法) ;
    }

    对象通过实例化类完成,有以下两种方式:

    //格式一:声明并实例化对象
    类名称 对象名称 = new 类名称 () ;
    
    //格式二:先声明对象,然后实例化对象
    类名称 对象名称 = null ;
    对象名称 = new 类名称 () ;

    当一个实例化对象产生之后,可以按照如下的方式进行类的操作:

    • 对象.属性:表示调用类之中的属性;
    • 对象.方法():表示调用类之中的方法。
    展开全文
  • 类和类/对象和对象之间的三大关系

    千次阅读 2018-10-13 18:12:37
    线段上有两个点 - has-a - 关联关系 整体不可分割的,叫做强关联/聚合 eg:人有手,车有引擎 人使用了房子 - use-a - 使用,依赖关系 学生是人 - is-a - 继承关系 继承 - 从已经有的创建新的过程 提供继承...

    线段上有两个点 - has-a - 关联关系 整体不可分割的,叫做强关联/聚合 eg:人有手,车有引擎

    人使用了房子 - use-a - 使用,依赖关系

    学生是人 - is-a - 继承关系

    继承 - 从已经有的类创建新类的过程
    提供继承信息的称为父类(超类/基类)
    得到继承信息的称为子类(派生类/衍生类)
    通过继承我们可以将子类中的重复代码抽取到父类中
    子类通过继承并复用这些代码来减少重复代码的编写
    将来如果要维护子类的公共代码只需要在父类中进行操作即可
    
    class Person(object):
    
        def __init__(self,name,age):
            self._name = name 
            self._age = age
    
        @property  # getter - 属性访问器
        def name(self):
            return self._name
    
        @property
        def age(self):
            return self._age
    
        @age.setter  # setter - 属性修改器
        def age(self,age):
            self._age = age
    
        def watch_av(self):
            print('%s正在看片' % self._name)
    
    class Student(Person):
    
        def __init__(self, name, age):
            super().__init__(name,age)  # 从父类Person继承属性name,age
            self._course = course
    
        @property
        def course(self):
            return self._course
    
        @course.setter
        def study(self,course):
            return '%s正在学习%s' % (self._name, course)
    
        # 方法重写(override) - 覆盖/置换/重写  
        # 子类在继承父类方法之后,对方法进行了重新实现
        # 当我们给子类对象发送watch_av消息时执行的是子类重写过的方法
        def watch_av(self):
            print('学生正在跟苍老师学习技术')
    
    def main():
        stu1 = Student('李牧',40)
        stu2 = Student('钟岳',17)
        stu1.study('HTML网页设计')
        stu2.watch_av()
    
    if __name__ == '__main__':
        main()
    

    Python没有从语言层面支持抽象类的概念,我们可以通过abc模块来制造抽象类的效果

    在定义类的时候通过指定metaclass=ABCMeta可以将类声明为抽象类

    抽象类是不能创建对象的,抽象类存在的意义是专门给其他类继承

    abc模块中还有一个包装器abstractmethod,通过这个包装器可以将方法包装为抽象方法,必须要求子类进行重写

    from abc import ABCMeta,abstramethod
    
    class Employee(object,metaclass=ABCMeta):
        '''员工'''
    
        def __init__(self,name):
            '''初始化方法'''
            self._name = name
    
        @property
        def name(self):
            return self._name
    
        @abstractemethod
        def get_salary(self):
            '''获得月薪...'''
            pass
    
    class Manager(Employee):
    
        def get_salary(self):
            return 15000.00
    
    class Programmer(Employee):
    
        def __init__(self,name):
            super().__init__(name)
            self._working_hour = 0
    
        @property
        def working_hour(self):
            return self._working_hour
    
        @working_hour.setter
        def working_hour(self,working_hour):
            self._working_hour = working_hour if working_hour > 0 else 0
    
        def get_salary(self):
            return 150.0 * self._working_hour
    
    class Salesman(Employee):
    
        def __init__(self,name):
            super().__init__(name)
            self._sales = sales
    
        @property
        def sales(self):
            return self._sales
    
        @sales.setter
        def sales(self,sales):
            self._sales = sales if sales > 0 else 0
    
        def get_salary(self):
            return 1200.0 + self._sales * 0.05
    
    def main():
        emps = [
            Manager('猴子'), Programmer('罗刹'),
            Manager('龙女'), Salesman('狐狸'),
            Salesman('牛魔'), Programmer('神将'),
            Programmer('和尚')
        ]
        for emp in emps:
            # isinstance判定一个对象是不是指定的类型
            if isinstance(emp, Programmer):
                emp.working_hour = int(input('请输入%s本月工作时间:' % emp.name))
            elif isinstance(emp,Salesman):
                emp.sales = float(input('请输入%s本月销售额:' % emp.name))
            # 同样是接收get_salary这个消息,但是不同的员工表现出了不同的行为
            # 因为三个子类都重写了get_salary方法,所以这个方法会表现出多态行为
            print('%s本月工资为: ¥%.2f元' % (emp.name,emp.get_salary()))
    
    
    if __name__ == '__main__':
        main()
    
    展开全文
  • 什么是对象对象关系是什么?

    万次阅读 多人点赞 2019-06-02 14:56:30
    对象 什么是对象?        ...万物皆对象。它包括现实中客观存在的事物,也包括抽象的时间、规则、思维。简单点说,对象具有状态、...具有相同特性行为的对象组成的集合就是...
  • java中对象关系与区别

    万次阅读 多人点赞 2019-04-08 15:25:54
    以上完成了一个类和对象的操作关系,下面换另外一个操作来观察一下: package com.wz.classandobj; class Person { String name ; int age ; public void get() { System.out.println("姓名:" + name + ...
  • 面向对象对象之间的关系

    千次阅读 2019-01-23 00:52:02
    对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。 对象的一个集合,对象的实例。 而对象的产生在Java中是使用new来...
  • 类和对象、实例的关系理解

    千次阅读 2017-11-15 15:31:00
    所以实例和类基本就是同一个概念。 最常见的举例是: Class:鸟 的方法(函数):(鸟)会飞 的属性(变量):爪子,翅膀 实例: 对象:麻雀,是(Class)鸟的一种 对象方法(函数):麻雀会飞 对象的...
  • 面向对象(Object Oriented,OO)。 面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念应用已超越了程序设计软件开发,扩展到如数据库系统、交互式界面、...核心特性包括:对象,方法,封装,继承...
  • Java类和对象 详解(一)

    万次阅读 多人点赞 2016-10-06 20:48:02
    一、面向对象简述面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计...
  • 对象之间的关系

    千次阅读 2019-08-23 14:13:53
    首先我们来了解一下对象的定义 是用来描述现实事物的,由属性行为组成。可以看成是一事物的模板,使用事物的属性特征...对象的一个实例(对象并不是找个女朋友…),必然具备该事物的属性行为。 ...
  • 什么是对象对象(Object)是一个应用系统中的用来描述客观...(Class)是Java代码的基本组织模块,使用来描述一组具有共同属性行为对象的基本原型。是对这组对象的概括、归纳描述表达。对象的模板,它...
  • 类和对象之间的关系?封装继承多态?

    千次阅读 2018-03-04 09:19:00
    在面向对象的编程思想中把对象的属性行为分别称为对象的属性方法,是构成对象的两个主要因素;在编程中,对象的属性被存储在一些变量里;对象的行为则通过定义方法来实现。三大基本特征:封装,继承,多态。 ...
  • Java中对象关系与区别

    千次阅读 2018-04-12 12:43:59
    对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。对象的一个集合,对象的实例。而对象的产生在Java中是使用new来实现的...
  • 对象的抽象,对象的实例。
  • 的概念:是具有相同属性服务的一组对象的集合。它为属于该的所有对象提供了统一的抽象描述,其内部包括属性服务两个主要部分。在面向对象的编程语言中,是一个独立的程序单位,它应该有一个类名并包括...
  • 面向对象(Object Oriented,OO)。起初,“面向对象”是指在程序设计中采用封装、继承、多态等设计方法。现在,面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,ObjectOriented Analysis),...
  • 类和对象的概述及二者之间的关系

    千次阅读 2018-12-30 16:40:16
    是一个抽象的概念,是对具有相同特征行为事物的统称 对象是这一事物中某一个确定的个体。 可以把理解成一个模板,对象理解成通过这个模板创建的产品.从这个角度出发,可以说一个能创建多个对象,一个对象只能...
  • 1.如何判读某个对象属于某个,可以利用Java中的的instanceof 用法: 判断每个对象是否属于某个的特定实例,具体格式 if(对象 instanceof 要判断的对象){ } 返回 true / false 例如: public class Test { ...
  • C++中对象关系

    千次阅读 2017-03-26 17:02:42
    C++是一门面向对象的编程语言,理解C++,首先要理解(Class)和对象(Object)这两个概念。 C++中的(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个...
  • (2):具有相同特性(数据元素)行为(功能)的对象的抽象就是。因此,对象的抽象是的具体化就是对象,也可以说的实例是对象实际上就是一种数据类型。具有属性,它是对象的状态的抽象,用数据...
  • 基类对象与派生类对象关系

    千次阅读 2018-07-03 10:13:18
    点击打开原文链接基类对象与派生类对象的使用关系1. 派生类对象作为基类对象处理由于派生类具有所有基类的成员,所以把派生类的对象赋给基类对象是合理的,不过要求这种继承方式必须是public方式。但是,反过来赋值...
  • 面向对象之间的关系详细解析

    千次阅读 2018-04-12 21:31:52
    在软件系统中,不是孤立存在的,...1.关联关系 1)双向关联 2)单向关联 3 )自关联 :的属性对象类型为自身 4)多重关联:表示一个对象和另一个对象连接的个数 5)聚合关系:表示一个整体与部分 6...
  • 类和对象举例

    千次阅读 2019-03-05 14:11:28
    以狗为例,狗本身是一个对象 它属于动物类,动物类这个东西不存在,而狗这个物体存在,所以对象就是类的实体化,对象就是类的抽象化,类描述一类对象的行为状态。举几个例子 人是一个类 具体的某个人就是对象 他的...
  • Python中的的定义和对象的创建

    万次阅读 多人点赞 2018-08-16 17:35:59
    面向对象中两个重要的概念: 1.类 :对一类事物的描述,是抽象的、概念上的定义。...1.创建类创建类对象 1.创建类,类主要由类名,属性,方法组成,当然创建一个类时,属性方法可以选择的。 cla...
  • 类和对象的区别联系

    千次阅读 2019-04-01 16:25:42
    是封装对象的属性行为的载体,在Java语言中对象的属性以成员变量的形式存在,而对象的方法以成员方法的形式存在。 对象:Java是面向对象的程序设计语言,对象是由抽象出来的,所有的问题都是通过对象来...
  • 怎么来理解java类和对象的区别

    千次阅读 多人点赞 2018-05-08 11:29:19
    对象在需求中的使用在具体问题中如何使用面向对象去分析问题,如何使用面向对象。以把大象装冰箱为例进行分析:在针对具体的需求,可以使用名词提炼的办法进行分析,寻找具体的对象。需求:把大象装冰箱里对象:...
  • 实例说明对象关系及区别

    千次阅读 2017-11-23 13:43:34
    在面向对象编程中,是一个结构,这个结构定义属性方法的集合。它可以被看作是一个模板。例如: class Item { public $itemType; /* e.g. this could be "Book" or "CD" */ public $price; public function ...
  • 对象的理解

    千次阅读 多人点赞 2020-08-08 16:31:40
    菜鸟都能看懂(很容易理解)—— 对象 一、对象的定义 的定义: (class):是构造 对象 的模板或蓝图,也是一组相关属性行为的集合。 属性(成员变量):就是该事物的...类和对象关系对象的蓝

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,444,976
精华内容 577,990
关键字:

类和对象的关系