10-Swift之对象&继承

1、什么是对象#

对象就是将一组数据与这组数据有关操作组装在一起,形成一个实体,这个实体就是对象。

2、类的模型

        /**
         类的模型
         
         class  className  {
                 
                var variable1 :variableType ?
                var variable2  = Any

                func funcName(parameter:parameterType,...)->returnType{
                }
                
                func   funcName1(){

                }
         }
         
         */

3、一个简单的类

        /* 创建一个类 */
        class NetWork {
            /**
             变量
             */
            var address:String?
            var age = 18
            var name:String?
            /**
             方法
             */
            /* 获取地址*/
            func getAddress() -> String {
                 return self.name! + self.address!
            }
            /* 输出信息*/
            func logUserInfo(){
                print(self.name! + String(self.age))
            }
        }
        /**
         注释:类中包含属性也包含方法。属性和方法都是类的组成部分,属性是变量,方法势函数。
         */

4、创建对象,并对对象操作

        /**
         我们创建一个NetWork类的对象
         */
        let classObject = NetWork()
        /**
         给其对象属性赋值
         */
        classObject.address = "beijing chao yang"
        classObject.age = 26
        classObject.name = "NetWork小贱"
        /**
         调用其方法
         */
        let addressString = classObject.getAddress()
        print(addressString)
        /* 输出类的信息*/
        classObject.logUserInfo()
        /**
         输出:
         NetWork小贱beijing chao yang
         NetWork小贱26
         */

5、继承

继承是指一个对象直接使用另一对象的属性和方法。

1、创建一个要继承的父类

        class School {
            var schoolName:String?
            var schoolAddress:String?
            var schoolAge:Int = 0
            var schoolSubjects:Array?
            /* 获取学校的科目*/
            func getSubjects() -> Array {
                 return self.schoolSubjects!
            }
            /* 获取学校的信息*/
            func getSchoolInfo() -> (name:String,age:Int,address:String) {
                 return (self.schoolName!,self.schoolAge,self.schoolAddress!)
            }
        }
        

2、继承后的子类

        class XiWangSchool:School {
            var persons = 0
            var classString:String?
            func getPersonCount() -> Int {
                return self.persons
            }
            
            /**
             从写父类的方法
             */
            override func getSchoolInfo() -> (name: String, age: Int, address: String) {
                 var tuples = super.getSchoolInfo()
                 tuples.age += 10
                return tuples
            }
            /**
             注释:从其他类继承而来的类可以重写父类中的函数。这些子类继承了父类的大部分功能,但也可以有自己的功能。
             */
        }
        /**
         注释:要重写一个函数,要在子类中重新声明它,并添加 override 关键字。
         */

3、继承后子类的使用

        /**
         创建一个学校的对象
         */
        let NetWorkSchool = XiWangSchool()
        NetWorkSchool.schoolName = "成功QQ吧"
        NetWorkSchool.schoolAddress = " 北京 朝阳"
        NetWorkSchool.schoolAge = 90
        let tupless = NetWorkSchool.getSchoolInfo()
        print(tupless)
        /**
         输出:
         (name: "成功QQ吧", age: 100, address: " 北京 朝阳")
         */

你可能感兴趣的:(10-Swift之对象&继承)