(j3.2006) Parent component of extension of abstract type
Tom Clune
Thomas.L.Clune
Thu Nov 12 17:10:22 EST 2015
Sorry - just realized that I misworded my final point.
I meant to say it would be nice if one could invoke the non-deferred methods in an abstract parent. One can of course access the data components without needing to refer to the parent at all.
But, the non-deferred methods might invoke a deferred method ?
- Tom
> On Nov 12, 2015, at 5:01 PM, Tom Clune <Thomas.L.Clune at nasa.gov> wrote:
>
> Van,
>
> I raised essentially the same issue a while back (2-3 years ago). The short answer is ?Yes - this is what was intended.?
>
> One argument is that if you could access such a parent, then you would be able to invoke methods on it. E.g., what if there was a deferred method? And if you don?t have any deferred methods, why does it need to be abstract?
>
>
> But ? I agree that it would be nice if one could access the non-deferred items in an abstract parent. In practice, I?ve found the situation where I miss the ability is extremely rare.
>
> - Tom
>
>
>
>
>
>> On Nov 12, 2015, at 4:32 PM, Van Snyder <Van.Snyder at jpl.nasa.gov <mailto:Van.Snyder at jpl.nasa.gov>> wrote:
>>
>> It seems a bit strange that I can't access the parent component of an
>> object of a type that is an extension of an abstract type, but I can
>> access components of the parent component. Is this what we intended?
>>
>> program P
>>
>> type, abstract :: T0
>> integer :: N = 42
>> end type T0
>>
>> type, extends(t0) :: T1
>> end type T1
>>
>> type(t1) :: V1, V2
>>
>> print '(a,i0)', 'V1 ', v1
>> print '(a,i0)', 'V1%T0 ', v1%t0 ! Prohibited
>> print '(a,i0)', 'V1%T0%n ', v1%t0%n
>>
>> v2 = v1
>> v2%t0 = v1%t0 ! Prohibited
>> v2%t0%n = v1%t0%n
>>
>> end program P
>>
>>
>> _______________________________________________
>> J3 mailing list
>> J3 at mailman.j3-fortran.org <mailto:J3 at mailman.j3-fortran.org>
>> http://mailman.j3-fortran.org/mailman/listinfo/j3
>
> Thomas Clune, Ph. D. <Thomas.L.Clune at nasa.gov <mailto:Thomas.L.Clune at nasa.gov>>
> Software Infrastructure Team Lead
> Global Modeling and Assimilation Office, Code 610.1
> NASA GSFC
> MS 610.1 B33-C128
> Greenbelt, MD 20771
> 301-286-4635
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> J3 mailing list
> J3 at mailman.j3-fortran.org
> http://mailman.j3-fortran.org/mailman/listinfo/j3
Thomas Clune, Ph. D. <Thomas.L.Clune at nasa.gov>
Software Infrastructure Team Lead
Global Modeling and Assimilation Office, Code 610.1
NASA GSFC
MS 610.1 B33-C128
Greenbelt, MD 20771
301-286-4635
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.j3-fortran.org/pipermail/j3/attachments/20151112/f85fef93/attachment-0003.html
More information about the J3
mailing list