Java教程

类与对象(一)

本文主要是介绍类与对象(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、什么是类、什么是对象?

  类:人类、鸟类、鱼类...描述的是一个群体用一个特定的类来划分

    编程中的类:例如我们的字段类型,整数,浮点数,字符串就分别是三个类,可以用type()去验证

  对象:对象可以看成是类和实例的集合。

    及类可以堪称是一个对象,实例也可以看成是一个对象。

    例如:列表类list可以看成是一个对象,列表实例[1,2]也可以看成是一个对象。

    例如:电脑很强大(电脑类对象),我的电脑(类实例我的电脑)很卡

  总结:万事万物皆对象

2、类的创建和调用

  创建:

    class computer:

      screen=true#都有屏幕,属性

      

      def start():#都能开机,方法

        print('电脑开机中......')

  类的调用:1.类的实例化2.调用属性3.调用方法

 

    class computer:

      screen=true#都有屏幕,属性

      

      def start():#都能开机,方法

        print('电脑开机中......')

    my_computer = computer()#类的实例化

    print(my_computer.screen)#调用属性

    mycomputer.start()#调用方法

 

  说明:类理论上可以无数次实例化,所以类又被称之为实例化工厂

 

3、创建类的两个关键点

  特殊参数:self

    什么是self?

      前面讲到,调用类的属性和方法需要常见实例化类对象。调用类对象的属性和方法通常分为类内部调用和类外部调用,内部调用且未实例化之前,self参数可以看成是一个临时的实例化对象。内部方法可以通过传入self参数去调用类的属性和方法

    eg:

    

    class Chinese:

      def greeting(self):
        print('很高兴遇见你')

      def say(self):
        self.greeting()
        print('我来自中国')

    person = Chinese()
    # 创建实例person
    person.say()
    # 调用say()方法,输出'很高兴见到你,我来自中国'

 

  特殊方法:初始化方法

    什么是初始化方法?

      初始化方法指,类对象再未调用的时候就执行的方法。

    初始化方法的语法?

      def__init__(self):

        print('很高兴遇到你')

 

    初始化方法使用实例:

      class Chinese:

        def__init__(self,name,birth,region):

          self.name=name

          self.birth=birth

          self.region=region

        def born(self):

          print(self.name+'出生在:'+self.birth)

        def live(self):

          print(self.name+'居住在:'+self.region)

  person = Chinese('尤念','湖北','上海')

  person.born()

  person.live()

 

4、面向对象编程和面向过程编程

  面向过程编程:及完成一个功能,第一步做什么,第二步做什么,第三部做什么....(有执行顺序,按顺序执行)

  面向对象编程:不是看具体的执行顺序,而是将程序看成一个对象的集合

         而是先考虑建一个类,再定义类的属性和方法,及是什么(属性),能做什么(方法)

         接着再以类为模板,创建一个实例对象,这个实例调用类的属性和方法

 

  面向对象的优点:1、以类去封装属性和方法、封装内容更多,便于后期的拓展、新增和维护。代码的结构更清晰,

            相比于面向过程,可读性、拓展性和可维护性都更好。

          2、调用类的方法更容易,不用清楚过程

  

      

这篇关于类与对象(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!