类的使用与继承

//长方形的类的声明与实现#import <Foundation/Foundation.h>

@interface Rect2 : NSObject
{
//    float chang;
//    float w;
}
@property float chang;
@property float w;

- (float)sizeOfRect;
@end

#import "Rect2.h"

@implementation Rect2
//@synthesize chang;
//@synthesize w;

- (float)sizeOfRect
{
    NSLog(@"%@", self);
    return  (self.chang)*(self.w);
}
@end

//长方体的类的声明与定义
#import <Foundation/Foundation.h>
#import "Rect2.h"
@interface LiFangTi : Rect2
{
//    float height;
}
@property float height;
- (float)tiJiFor;
@end

#import "LiFangTi.h"

@implementation LiFangTi
-(float)tiJiFor
{
    return self.w*self.height*self.chang;
}
@end

#import "ViewController.h"
#import "LiFangTi.h"
#import "Rect2.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    Rect2 *rect=[[Rect2 alloc]init];
    rect.chang=1;
    rect.w    =2;
    NSLog(@"%@", rect);
    NSLog(@"%f",[rect sizeOfRect]);

    LiFangTi *liFangTi=[[LiFangTi alloc]init];
    liFangTi.chang=1.0;
    liFangTi.w    =3.0;
    liFangTi.height=3.0;
    NSLog(@"%f",[liFangTi tiJiFor]);
}

类的使用与继承,布布扣,bubuko.com

时间: 2024-10-24 14:58:28

类的使用与继承的相关文章

php类和对象 :继承

继承 : 面向对象编程方式最大的优点之一就是,可以使一个类继承并拥有另一个已存在类的成员变量和成员方法,其中被继承的类称为父类,继承的类称为子类.子类继承父类以后便获得父类所有的成员变量和成员方法.通过继承能够提高代码的重用性,以及可维护性. 通过类的继承,子类不仅可以拥有新定义的成员变量和成员方法,而且还具有父类所有的成员变量和成员方法.语法格式如下: class 子类名称 extends 父类名称 {     //子类的成员变量列表     function 成员方法1([参数1,参数2,…

C++构造函数 &amp; 拷贝构造函数 &amp; 派生类的构造函数 &amp; 虚继承的构造函数

构造函数 ,是一种特殊的方法 .主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 .特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载.(摘自百度百科构造函数). 一.最基本的构造函数 1 class Base 2 { 3 public: 4 Base(int var) : m_Var(var) 5 { 6 } 7 private: 8 int m_Var; 9 }; 以上构造函数的执行过程:

Python学习之旅—面向对象进阶知识:类的命名空间,类的组合与继承

前言 上篇博客笔者带领大家初步梳理了Python面向对象的基础知识,本篇博客将专注于解决三个知识点:类的命名空间,类的组合以及面向对象的三大特性之一继承,一起跟随笔者老看看今天的内容吧. 1.类的命名空间 在上一篇博客中,我们提到过对象可以动态添加属性,一起来回忆下昨天的知识点,看如下的代码: class A: pass a = A() a.name = 'alex' print(a.name) 这里我们手动为a对象添加了一个属性name,然后直接打印可以得到a对象的名称.通过这个例子,我们可以

类的构建和继承机制(c++)

构建类: 抽象:将同类事物的共同属性和行为提取出来并将其用变量和函数表达出来: 封装:将抽象得来的变量和函数捆绑在一起形成一个完整的类(即这类事物拥有了属性和行为) 控制访问权限: private: 除了在该类中可以直接访问到之外,外界以及派生类均不能直接访问其成员: protected: 在该类和其派生类中可以直接访问到其成员,外界不能直接访问到: public: 除了在该类和其派生类中可以直接访问到其成员,外界也能直接访问: 如下创建一个类: 构造出学生类之后,便可以创建学生对象: Stud

java类为什么是单继承。类的继承,实现接口。

java中提供类与类之间提供单继承. 提供多继承会可能出现错误,如:一个类继承了两个父类,而两个父类里面都有show()方法. class Fulei1{ public void show(){ System.out.println("父类1"); } } class Fulei2{ public void show(){ System.out.println("父类2"); } } class Zilei extends fulei1,fulei2{ public

类 (3) - 继承和多态

继承用来描绘现实情境中的is-a关系,即某物属于某种类别.c#不支持多重继承,但可以通过接口实现多重继承.通过继承,子类可以扩充父类的内容. 多态指的是根据类型的不同,相同的请求(相同的方法)可以做出不同的相应. C#实现多态最重要的方式就是接口.一个接口可能包括任意多个虚拟或者抽象方法,此时,继承了(实现了)该接口的类必须给出一个自己的实现(通过重写虚拟或者抽象方法).例如基类拥有虚拟方法speak,其没有实现,此时所有的派生类都要提供一个自己的实现,然后,对于任意的派生类,speak都对应着

面向对象的类访问和对象访问的区别【this以及类访问】、静态成员的访问区别、类常量等、继承和重写、访问修饰限定符、冒泡排序

1.mysql封装类 在构造函数中定义初始化数据库连接的相关参数[因为实例化对象时传入的参数是该对象的唯一参数入口]但是不需要再构造函数中进行冗余定义,而是在构造函数中进行调用类中的其他方法的方式来实现构造函数的设置工作[这样的模块分离使逻辑更加简单] [重点]2.静态成员相当于每次实例化对象之间是有关系的[例如计数功能]因为每次实例化类时创建的对象占用的空间都是新创建的,这一点需要注意,所以同一个类下的对象之间的变量并没有交互的效果.[回想起当初函数中的静态局部变量的使用][延生到静态全局变量

python开发面向对象基础:接口类&amp;抽象类&amp;多态&amp;多继承

一,接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 开发中容易出现的问题 1 class Alipay: 2 ''' 3 支付宝支付 4 ''' 5 def pay(self,money): 6 print('支付宝支付了%s元'%money) 7 8 class Applepay: 9 ''' 1

UM类图关系(继承,实现,依赖,关联,聚合,组合)

1.继承(is-a) 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系:在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性: 2.实现 指的是一个class类实现interface接口(可以是多个)的功能:实现是类与接口之间最常见的关系:在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性: 3.依赖(uses-a) 可以简单的理解,就是一